#pragma compile(Console, True)
Opt('MustDeclareVars', True)
#include <Array.au3>
Local _
$sIniFile, _ ; имя .ini-файла
$aIniSNames, _ ; список имён секций
$aIniKeys ; массив имён/значений ключей секции
; имя .ini строим по правилу <имя скипта без расширения>.ini
;
$sIniFile = StringLeft(@ScriptName, StringLen(@ScriptName)-4) & '.ini'
;
$aIniSNames = IniReadSectionNames($sIniFile)
If @error Then
ConsoleWrite('*** Error *** failed on ' & $sIniFile & @CR)
Exit 362
EndIf
;
Local $i
For $i = 1 To $aIniSNames[0] ; в цикле поимённо перелопачиваем найденные секции
$aIniKeys = IniReadSection($sIniFile, $aIniSNames[$i])
If @error Then
ConsoleWrite('*** Error *** read failed on section ' & $aIniSNames[$i] & @CR)
ContinueLoop ; что-то не так с секцией, пробуем следующую
EndIf
_ArrayDisplay($aIniKeys, 'Before sort ' & $aIniSNames[$i])
_ArraySort($aIniKeys, 0, 1)
If @error Then
ConsoleWrite('*** Error *** sort failed on section ' & $aIniSNames[$i] & @CR)
ContinueLoop ; что-то не так с ключами в секции, пробуем следующую
EndIf
_ArrayDisplay($aIniKeys, 'After sort ' & $aIniSNames[$i])
IniWriteSection($sIniFile, $aIniSNames[$i], $aIniKeys)
Next
;
ConsoleWrite('Ok!' & @CR)
Exit 0