1

Тема: AHK: Как получить значение таймера

Есть GUI
При нажатии на кнопку 1 запускается таймер на 1 минуту


TimerStart: 
mt := 1000 * 60 * m
SetTimer, EndTime, %mt%
Gui, Hide
return

EndTime:
SoundPlay, sound/Ta-Da-Dan.wav
MsgBox, 64, Таймер, Время вышло!
Gui, Show
SetTimer, EndTime, Off
return

Кнопок там несколько 1-5-10-15-30-60-90 , чтобы задавать разное время.

Ещё есть немного кода для того, чтобы GUI можно было сворачивать в трей и разворачивать его нажав двойным кликом на иконку в трее.

В общем всё работает так как надо, но!

Я хочу сделать, чтобы кроме кнопок на GUI показывалось какое-нибудь поле, ну или метка (Label) с крупным шрифтом, на которой в случае если таймер запущен показывалось бы остаточное время таймера в виде МИН:СЕК (mm:ss).

Подозреваю, что нужно получить как-то значение идущего таймера и дальше сделать преобразования значения в вид mm:ss, и отобразить это всё дело на GUI

Поиск Google по форуму не выдал ни одного примера получения значения идущего таймера. В руководстве тоже есть только SetTimer, а что-то типа GetTimer увы нет. А надо. Как быть?

p.s. так же не нашёл примера как преобразовать например значение  12345678 в вид МИН:СЕК. Неужели свою функцию городить?

2

Re: AHK: Как получить значение таймера

Никакого "значения идущего таймера" не существует, просто когда заданное время выходит, выполняется его подпрограмма. Для решения твоей задачи можно просто разбить общий период таймера на отдельные секунды и каждую секунду показывать увеличивающееся значение.

zuma пишет:

p.s. так же не нашёл примера как преобразовать например значение  12345678 в вид МИН:СЕК. Неужели свою функцию городить?

Да.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

3 (изменено: creature.ws, 2013-01-12 09:05:09)

Re: AHK: Как получить значение таймера

Неужели свою функцию городить?

FormatTime, пример внизу.

4

Re: AHK: Как получить значение таймера

Благодарю. Функция дала пищу для размышлений вообще по работе с датой и я решил её применить, но...