Возникла такая проблема. переменная типа DateTime привязанная к календарю... и выполняется такой скрипт :
begin
if MonthsBetween(Now, data_poverki_1.AsDateTime) < 2 then
data_poverki_1_1.Value := 1
else
data_poverki_1_1.Value := 0;
end.
Скрипт работает, сравнение выполняется.. все хорошо. Проблема в том что когда в проекте рабочем я задаю дату переменной то все выполняется. как только я закрываю проект и открываю его заново, переменная принимает значение текущей даты и все сбивается. Что это может быть?
И даже когда выбираю другой тип переменной.. и задаю ей значение в проекте. То после перезапуска значение пропадает.. В чем может быть причина?
Здравствуйте.
Допустим что переменная с датой поверки имеет имя vrCheckDate и имеет тип данных DateTime. Лучше всего вывести на мнемосхему объект Календарь и привязать его к этой переменной. Через календарь дату удобнее всего редактировать и можно задать соответствующий формат. Для сравнения vrCheckDate с текущей датой можно использовать функции из этого раздела. Например можно выполнять следующий код в скрипте с типом события "Прошел час":
begin
{ если между текущим временем и vrCheckDate прошло 2 или более месяца }
if MonthsBetween(Now, vrCheckDate.AsDateTime) >= 2 then
{ то выдаём аварийное сообщение на панель сообщений }
AddMessage(Now, mkAlarm, 'Нужно проверить прибор!', True, False);
end.