Sub Main
Dim inc, row As Integer
Dim rows, col As Integer
Dim x As Object
inc = 60 ' На сколько увеличить число
rows = 20 ' Количество просматриваемых строк
col = 0 ' Номер столбца для увеличения значений
oDoc = ThisComponent
row = 0
Do While (row < rows)
x = oDoc.Sheets(0).getCellByPosition(col, row) ' Первая страница текущего элемента (индекс 0)
' Проверка типа ячейки
Select Case x.Type
' Если число
Case com.sun.star.table.CellContentType.VALUE
oDoc.Sheets(0).getCellByPosition(col, row).setValue(x.Value + inc)
' Если текст
'Case com.sun.star.table.CellContentType.TEXT
' Если пусто
'Case com.sun.star.table.CellContentType.EMPTY
' Если формула
'Case com.sun.star.table.CellContentType.FORMULA
End Select
row = row + 1
Loop
End Sub
int step = 4;
string s = "1234567891233";
List<int> insertPosition = new List<int>();
for (int i = 1; i < (s.Length / step) + 1; i++)
{
insertPosition.Add(step * i);
}
insertPosition.Reverse();
s = insertPosition.Aggregate(s, (current, d) => current.Insert(d, "-"));
Console.WriteLine(s); // 1234-5678-9123-3
table
и поместите туда таблицу, начиная с ячейки (1, 1)
Public Function Encrypt(pass As String, login As String)
Dim PassLength As Integer
Dim r, c, z As Integer
Dim encrypt_str As String
Dim ps, ls As String
PassLength = 16
encrrypt_str = ""
For i = 0 To PassLength - 1
ps = Mid(pass, (i Mod Len(pass)) + 1, 1)
ls = Mid(login, (i Mod Len(login)) + 1, 1)
For j = 1 To 39
For k = 1 To 3
If (Worksheets("table").Cells(j, k) = ps) Then
r = j
c = k
Exit For
End If
Next k
Next j
For l = 4 To 39
If (Worksheets("table").Cells(r, l) = ls) Then
z = l
Exit For
End If
Next l
encrrypt_str = encrrypt_str & Worksheets("table").Cells(c, z)
Next i
Encrypt = encrrypt_str
End Function
position
не подходит?$s = 'HelloWorldHelloWorldHelloWorldHelloWorldHelloWorldHelloWorldHelloWorldHelloWorldHelloWorldHelloWorldHelloWorldHelloWorldHelloWorldHelloWorldHelloWorldHelloWorldHelloWorldHelloWorld';
$l = strlen($s);
$file = 'test.txt';
$x = 0;
while ($x < $l)
{
if (($l - $x) > 100)
{
file_put_contents($file, substr($s, $x, 100), FILE_APPEND | LOCK_EX);
$x += 100;
}
else
{
file_put_contents($file, substr($s, $x, $l - $x), FILE_APPEND | LOCK_EX);
$x = $l;
}
}
a = 'len asd sas nas sda orr' # исходная строка
x = a.split(' ') # формируем из нее массив
r.append(x[0]) # берем первый элемент с которого начнем
del x[0] # удаляем чтобы не мешал
while (len(x) > 0): # пока исходный массив не пустой
z = False # проверка на то, что слово начинается с последней буквы предыдущего слова
for i in x:
if (i[0] == r[-1][-1]): # если начинается, то добавляем в массив
r.append(i)
del x[x.index(i)]
z = True
break
if (not z): # если слово не найдено, то дописываем оставшиеся
r.extend(x)
x = []
r
>>> ['len', 'nas', 'sas', 'sda', 'asd', 'orr']
i % 3
при любом i
дает [0..2]
i % 5
при любом i
дает [0..4]
math.ceil((i % 3) / 2) * 2
дает не больше 2
math.ceil((i % 5) / 4)
дает не больше 1
3 - [0..2] - [0..1] = [0..3]