Тема: AHK: iniRead&iniWrite
Добрый день уважаемые. Почитал кучу подобных тем и так же мануал по Ahk, но ни как не разобрался с данной фишкой. Для начала хочу объяснить, что хочу сделать - при запуске программы, идет считывание файла ini, в котором хранятся настройки по заданным параметрам (использовать или не использовать), все это отображается в GUI. По кнопке Save эти параметры сохраняются.
вот моя незадача в том, что не понятным образом сохраняется - напротив всех переменных пишется ERROR - меняй не меняй настройки.
А хотелось бы сделать следующее - чтобы параметры сохранялись как - время написанное в поле Edit и использовать или не использовать, а чтение проходило во время запуска самого GUI (то есть открываешь ехешник и он тебе выдает сохраненные параметры).
Код (вырезанный, возможно не работающий), отображающий всю суть программы:
If (Fingerprint= "1")
{
IniRead, MonsterTab, %A_ScriptDir%\config.ini, Skill, vMonster
IniRead, F1, %A_ScriptDir%\config.ini, Skill, vLength1
IniRead, F2, %A_ScriptDir%\config.ini, Skill, vLength2
IniRead, F3, %A_ScriptDir%\config.ini, Skill, vLength3
IniRead, F4, %A_ScriptDir%\config.ini, Skill, vLength4
m:=0
a1:=0
a2:=0
a3:=0
a4:=0
ProcessName = Process.exe
Gui, Add, Button, x120 y230 w210 h40 , Start
Gui, Add, Button, x120 y270 w210 h40 , Pause
Gui, Add, Button, x120 y310 w210 h40 , Save
Gui, Add, Tab, x5 y5, Скилл|q1|q1|q1|q1
Gui, Tab, Скилл
Gui, Add, Text, x10 y30 w210 h20, Выбрать монстра, (сек)
Gui, Add, Edit, x222 y30 w40 h20 vMonster, 3 // vMonster - метка, 3 - значение времени
Gui, Add, Text, x10 y58 w210 h20 , F1: skill(сек)
Gui, Add, Edit, x222 y58 w40 h20 vLength1, 2
Gui, Add, Checkbox, x280 y58 vF1, Использовать
Gui, Add, Text, x10 y86 w210 h20, F2: skill(сек)
Gui, Add, Edit, x222 y86 w40 h20 vLength2, 3
Gui, Add, Checkbox, x280 y86 vF2, Использовать
Gui, Add, Text, x10 y114 w210 h20, F3: skill(сек)
Gui, Add, Edit, x222 y114 w40 h20 vLength3, 4
Gui, Add, Checkbox, x280 y114 vF3, Использовать
Gui, Add, Text, x10 y142 w210 h20, F4:skill(сек)
Gui, Add, Edit, x222 y142 w40 h20 vLength4, 5
Gui, Add, Checkbox, x280 y142 vF4, Использовать
Gui, Show, Autofit
Return
ButtonStart:
Gui, Submit, NoHide
If F1!= Использовать
{
Length1 := 6000000000
a1=%Length1%
}
If F2!= Использовать
{
Length2 := 6000000000
a2=%Length2%
}
If F3!= Использовать
{
Length3 := 6000000000
a3=%Length3%
}
If F4 != Использовать
{
Length4 := 6000000000
a4=%Length4%
}
Gosub, Show
return
Show:
k:=0
while k=0
{
if (a1<1)
{
Sleep, 100
SetKeyDelay, 1
ControlSend,, {F1},
SetKeyDelay, 1
ControlSend,, {F1},
SetKeyDelay, 1
SetKeyDelay, 10,10
Sleep, 100
a1=%Length1%
a1:= a1/4
}
a1:=a1-1
if (a2<1)
{
Sleep, 100
SetKeyDelay, 1
ControlSend,, {F1},
SetKeyDelay, 1
ControlSend,, {F2},
SetKeyDelay, 1
ControlSend,, {F2},
SetKeyDelay, 1
SetKeyDelay, 10,10
a2=%Length2%
a2:= a2/4
}
a2:=a2-1
}
return
ButtonPause:
k:=1
Return
ESC::Pause
^ESC::ExitApp
ButtonSave:
IniWrite, %MonsterTab%, %A_ScriptDir%\config.ini, Skill, vMonster
IniWrite, %F1%, %A_ScriptDir%\config.ini, Skill, vLength1
IniWrite, %F2%, %A_ScriptDir%\config.ini, Skill, vLength2
IniWrite, %F3%, %A_ScriptDir%\config.ini, Skill, vLength3
IniWrite, %F4%, %A_ScriptDir%\config.ini, Skill, vLength4
Return
sleep, 2000
ExitApp
}
А ini файл отображает все вот таким образом:
[Skill]
vMonster=ERROR
vLength1=ERROR
vLength2=ERROR
vLength3=ERROR
vLength4=ERROR