1

Тема: AHK: Сохранение значения функции, а затем чтение.

Всем привет, у меня есть скрипт:

Iniread, TimeToTol1, Дальнобойщик.ini, Settings, Секунды 
FormatTime(A_TickCount-time) := TimeToTol1 


Gui, Add, Button, gButton, Сохранить 
Gui, Show, , Helper 


FormatTime(Time) { 
Local Rest, Hours, Min, Sec, MSec 
If Time < 0 
Return "00:00:00" 
Rest := Mod(Time, 3600000) 
Hours := Format("{:02d}", Time // 3600000) 
Min := Format("{:02d}", Rest // 60000) 
Sec := Format("{:02d}", Mod(Rest, 60000) // 1000) 
; MSec := Format("{:03d}", Mod(Rest, 1000)) 
Return Hours ":" Min ":" Sec 
} 


Button: 
TimeToTol := FormatTime(A_TickCount-time) 
IniWrite, %TimeToTol%, Дальнобойщик.ini, Settings, Секунды 
Reload 
return 

^!5:: 
time := A_TickCount 
Msgbox, таймер обновлен.
return

F1:: Msgbox, FormatTime(A_TickCount-time)

Вот принцип скрипта: При запуске, пользователь нажимает на CTRL+ALT+5, запускается секундомер, далее, например он хочет сохранить его и нажимает на кнопку в GUI сохранить, и значение сохраняется в блокнот, а затем при повторном запуске программы читается и этой переменной присваивается значение то, которое записалось, и если пользователь еще раз нажмёт на эту кнопку - CTRL+ALT+5, скрипт начнёт секундомер с того значения, которое записалось. Но эту идею у меня реализовать получилось не совсем - значение он сохраняет в блокнот, но не читает, при повторном запуске программы, помогите пожалуйста.

2

Re: AHK: Сохранение значения функции, а затем чтение.

Что значит переменная A_TickCount знаем? В какой переменной хранится ваше старое время понимаем? Смотрим внимательно на код и решение всплываем само-собой.

Когда вы говорите что не можете сделать, вам всего-лишь не хватает фантазии придумать какой-нибудь костыль.

3

Re: AHK: Сохранение значения функции, а затем чтение.

belyankin12, блин капец я тупой, спасибо, всё работает.

Iniread, TimeToTol, Дальнобойщик.ini, Settings, Секунды 
time := TimeToTol
Gui, Add, Button, gButton, Сохранить 
Gui, Show, , Helper 
Gui, Submit, NoHide

FormatTime(Time) { 
Local Rest, Hours, Min, Sec, MSec 
If Time < 0 
Return "00:00:00" 
Rest := Mod(Time, 3600000) 
Hours := Format("{:02d}", Time // 3600000) 
Min := Format("{:02d}", Rest // 60000) 
Sec := Format("{:02d}", Mod(Rest, 60000) // 1000) 
; MSec := Format("{:03d}", Mod(Rest, 1000)) 
Return Hours ":" Min ":" Sec 
} 


Button: 
IniWrite, %time%, Дальнобойщик.ini, Settings, Секунды 
return 

^!5:: 
time := A_TickCount
Msgbox, таймер обновлен.
return

F1:: 
Msgbox, % FormatTime(A_TickCount-time) 
return

4

Re: AHK: Сохранение значения функции, а затем чтение.

Не стоит это тупостью начинать. Обычные ошибки по неопытности.

Когда вы говорите что не можете сделать, вам всего-лишь не хватает фантазии придумать какой-нибудь костыль.