DateTime gymnastik
HejsaJEg har et lille problem jeg er kørt fast i. Har to DateTime pickers med Kind sat til dtkTime så der kun kan vælges en tid deri. Den ene, dtModeTid angiver hvornår en person møder, og dtSlutTid angiver hvornår vedkommende har fri. Det jeg skal er så at regne ud hvor længe vedkommende har været på arbejde. Der er så det finurlige ved det at det er natarbejde, så angvives mødetiden til at være kl. 21 og sluttiden til 05 så dur minutesbetween jo ikke helt. Jeg har forsøgt med følgende mulighed, som dog giver nogle underlige resultater indimellem:
procedure TForm1.dtModeTidChange(Sender: TObject);
var Min: Cardinal;
begin
dtModeTid.OnChange := nil;
dtSlutTid.OnChange := nil;
if (dtSlutTid.DateTime < dtModeTid.DateTime) then
dtSlutTid.DateTime := Tomorrow + TimeOf(dtSlutTid.DateTime)
else
dtSlutTid.DateTime := Today + TimeOf(dtSlutTid.DateTime);
lblTimer.Caption := IntToStr(MinutesBetween(dtModeTid.DateTime, dtSlutTid.DateTime));
dtModeTid.OnChange := dtModeTidChange;
dtSlutTid.OnChange := dtModeTidChange;
end;
Hvis der er nogen der kan gennemskue en let løsning eller lignende ville jeg blive meget glad for det.
På forhånd tak
Martin Kruse
