; Массивы
Dim $a[20] = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
Dim $b[20] = [20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
; Имя файла
Dim $file = "arrays.ini"
; Строка
Dim $line
; Записываем массив $a[] в одну строку в файл, разделя данные массива запятой.
For $i = 0 to 19
$line = $line & $a[$i] & ","
Next
IniWrite ($file, "Arrays", "a", $line)
; Очищим $line
$line = ""
; Записываем массив $b[] в одну строку в файл, разделя данные массива запятой.
For $i = 0 to 19
$line = $line & $b[$i] & ","
Next
IniWrite ($file, "Arrays", "b", $line)
; -------------------------------------------------------------
; С записью покончено. Теперь будем считывать из файла массивы.
; -------------------------------------------------------------
; Объявляем новые (чистые) массивы
Dim $c[20]
Dim $d[20]
; Читаем массив 'a' из файла
$line = IniRead ($file, "Arrays", "a", "error")
; Проверка на ошибку
If $line <> "error" Then
; Получаем массив из строки, используя запятую как разделительный знак между элементами массива
$line = StringSplit($line, ",")
; В line[0] содержится число полученных элементов массива
For $i = 1 to $line[0] - 1 ; -1 потому что в самом конце строки в ini-файле записана запятая - там пустой лишний элемент массива
$c[$i-1] = $line[$i] ; В $c[] надо записывать начиная с 0, а не с 1, по этому делаем -1
Next
Else
MsgBox (16, "Error", "Error while reading " & $file)
EndIf
; Смотрим что получилось
For $i = 0 to 19
ConsoleWrite("$c[" & $i & "] = " & $c[$i] & @CRLF)
Next
ConsoleWrite(@CRLF & @CRLF)
; Читаем массив 'b' из файла
$line = IniRead ($file, "Arrays", "b", "error")
; Проверка на ошибку
If $line <> "error" Then
; Получаем массив из строки, используя запятую как разделительный знак между элементами массива
$line = StringSplit($line, ",")
; В line[0] содержится число полученных элементов массива
For $i = 1 to $line[0] - 1 ; -1 потому что в самом конце строки в ini-файле записана запятая - там пустой лишний элемент массива
$d[$i-1] = $line[$i] ; В $d[] надо записывать начиная с 0, а не с 1, по этому делаем -1
Next
Else
MsgBox (16, "Error", "Error while reading " & $file)
EndIf
; Смотрим что получилось
For $i = 0 to 19
ConsoleWrite("$d[" & $i & "] = " & $d[$i] & @CRLF)
Next