valid timestamp"
function IncDateTime(aStamp:TTimeStamp;aKind:TTriggerKind;aInterval:Integer):TDateTime;
//aStamp = 26.23:00, aInterval = 30 мин
procedure SetAlarmItem_;
var
Max_: integer;
begin
Max_ := 24 * 60 * 60 * 1000;
// if aStamp.Time > Max_ then //D7, ломалось в D11
if aStamp.Time >= Max_ then
begin
Inc(aStamp.Date);
Dec(aStamp.Time, Max_);
end;
end;
begin
case aKind of
tkMinute:
begin
Inc(aStamp.Time,(60*aInterval*1000));
SetAlarmItem_;
end;
...
Result:=TimeStampToDateTime(aStamp);
end;
может, потому что это 3923 год? на нормальных значениях тоже ругается?
Год просто не стала писать. Вчера все было. Как поняла 26.23:30+30 мин = 26.24:00, но такой даты нет, а есть 27.00:00. Неужели в D7 была, а теперь перестала? )
86400000 как бы намекает
Есть ведь IncSecond/IncMinute/IncHour и т.д., сразу с TDateTime без разделений на дату и время зачем нужны эти 24*60 и т.п.?
угу, выбросить все свои костыли из кода и взять максимально встроенное, вопросов чаще всего заметно уменьшается
там еще с авто-выводом типов констант могут быть проблемы :)
Обсуждают сегодня