Forum: Programmieren allgemein
by Uwe Raabe,
4. Jan 2022
Vermutlich doch nicht so ganz. Das IncMilliSecond darf natürlich nur aufgerufen werden, wenn remain > 0 ist. Andernfalls würden auch 5 Minuten dazu addiert, wenn gerade ein 5-Minuten-Interval erreicht ist.
var
dt: TDateTime;
interval: Int64;
remain: UInt64;
begin
dt := EncodeDateTime(2021, 9, 27, 12, 25, 1, 0);
interval := (5*SecsPerMin*MSecsPerSec);
remain :=...
Forum: Programmieren allgemein
by Uwe Raabe,
3. Jan 2022
var
dt: TDateTime;
interval: Int64;
remain: UInt64;
begin
dt := EncodeDateTime(2021, 9, 27, 12, 25, 1, 0);
interval := (5*SecsPerMin*MSecsPerSec);
remain := DateTimeToMilliseconds(dt) mod interval;
dt := IncMilliSecond(dt, interval - remain);
end;