Что нового

[Данные, строки] Изменение секций в ini файлах

general66

Пришел увидел наследил
Сообщения
211
Репутация
3
Подскажите пожалуйста есть такая команда IniWrite ( "filename", "section", "key", "value" ) с ее помощью надо поменять значения ключа в двух файлах. Вот так.
Код:
Global $pathINIroot = ("путь\1.ini") ; первый ини фаил
Global $INIrootSec1 = ("section")
Global $INIrootKey1 = ("key")
Global $INIrootVal1 = ("value")
Global $pathDATAini = ("путь\2.ini") ; второй ини фаил
Global $DATAiniSec1 = ("section")
Global $DATAiniKey1 = ("key")
Global $DATAiniVal1 = ("value")
IniWrite($pathINIroot, $INIrootSec1, $INIrootKey1, $INIrootVal1)
Sleep(100)
IniWrite($pathDATAini, $DATAiniSec1, $DATAiniKey1, $DATAiniVal1)


Возможно ли упростить эту задачу когда менять значения нужно 100 раз и значения эти все разные хотя и отличаются только одной цифрой по порядку, а то при том варианте какой я привел надо внести в скрипт 600 переменных и 200 раз применить команду IniWrite. Возможно ли тут применить массив?
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
Конкатенация строк
Код:
For $i = 1 to 100
$s = 'some string' & $i
Next

Строка $s в цикле будет принимать 100 различных значений которые отличаются лишь последней цифрой.
 

gregaz

AutoIT Гуру
Сообщения
1,166
Репутация
299
Можно использовать IniWriteSection с занесением двухмерного массива
 
Автор
G

general66

Пришел увидел наследил
Сообщения
211
Репутация
3
не могли бы вы пример написать как использовать массивы в моем случаи , а то я в массивах пока темный лес первое значение ключа=Profile1 ну и так далее Profile50 ...Profile100, а второе значение ключа=Profile1.default соответственно Profile50.default ...Profile100.default
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
general66
это лишняя работа, загонять данные в массив, а потом из массива в файл. лучше сразу в файл, но в цикле. я же показал пример со "склеиванием" строк, я думал проблема только в этом.
Код:
For $i = 1 to 100
    $value = 'value' & $i
    $section = 'section' & $i
    $key = 'key' & $i
    IniWrite($pathINIroot, $section, $key, $value); при каждом проходе будет записываться значение 'value1', 'value2' и тд
    IniWrite($pathDATAini, $section, $key, $value)
Next
 
Автор
G

general66

Пришел увидел наследил
Сообщения
211
Репутация
3
Kaster
если я правильно понял то я смогу поменять только это значение циклом Profile1 , а это не как не удастся Profile1.default
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
general66
Код:
$str = 'profile' & $i &'.default'
 
Верх