Как написать процедуру, которая запускалась бы
alibek писал(а):Конкретно переход на зимнее/летнее время в Windows решается совсем иначе.
Просто ставится флажок.
Хакер писал(а):Процедуру может вызвать исключительно другая процедура. Процедура не может вызваться просто так из ниоткуда.
-->Кто-то должен инициировать запуск процедуры.
MyDate = Date
If Date = #4/10/2008# Then
MsgBox "Иди в баню" vbYes
ElseIf Date = #4/20/2008# Then
Call cmdTralyalya_Click
end if
Как написать процедуру, которая запускалась бы, скажем в 9.00,
А вот это как раз совсем просто. Если ты совершил нужное событие, ставь флажок, что совершил (в реестр или в файл). При запуске программы проверяй: время икс уже прошло, а флажок не установлен - совершай событие и ставь флажок. Время икс ещё не пришло - возвращаемся к пункту 1 (ответ на который я не знаю).но, если, программа не запущена, то позже.
arthur2 писал(а):kminas
Раздели свою задачу на две части:Как написать процедуру, которая запускалась бы, скажем в 9.00,
Здесь я просто не знаю, какА вот это как раз совсем просто. Если ты совершил нужное событие, ставь флажок, что совершил (в реестр или в файл). При запуске программы проверяй: время икс уже прошло, а флажок не установлен - совершай событие и ставь флажок. Время икс ещё не пришло - возвращаемся к пункту 1 (ответ на который я не знаю).но, если, программа не запущена, то позже.
Собстенно, alibek тебе про такой флажок говорил (а не про тот, который мышкой ставится).
Dim flajok As Integer
Private Sub Form_Load()
flajok = Val(GetSetting(App.EXEName, "Options", "Flag", 0))
'Если флажок стоит, значит запланировано действие
'Если сброшен, то действие или не запланировано, или уже совершено
'(естественно, не обязательно хранить его именно в реестре - можно и
' в своём файле. Можно как флажок использовать даже просто наличие или отсутсвие какого-то файла.)
If flajok = 1 Then 'запланировано, но ещё не сделано
' проверяем, прошел ли уже момент икс
If Now > kogda Then 'момент икс уже прошёл
' совершаем-таки то, что надо
doToChtoNado
' сбрасываем флажок
flajok = 0
Call SaveSetting(App.EXEName, "Options", "Flag", flajok)
End If
End If
End Sub
но, если, программа не запущена, то позже
я думаю, что это несколько сложновато для той задачи, которую я поставил
Не лучший способ переждать период времени. Лучше подключи таймер.ставил цикл Do ... Loop
как совершенно правильно и умно говорит Хакер
arthur2 писал(а):Да, и с флажком (файл i_am_just_dummy_file.dat) - лучше всё-таки ставить флажок, когда действие запланировано и сбрасывать, когда выполнено, а не наоборот.
Включение компьютера по расписанию организовано совсем иначе.
Сейчас этот форум просматривают: Google-бот, SemrushBot, Yandex-бот и гости: 89