05. maj 2001 - 21:01Der er
5 kommentarer og 1 løsning
Udregning af minutter mellem to tider
Til udregning af antallet af minutter mellem to tider har jeg følgende forsøgt mig med følgende:
// Antallet af minutter mellem de to tider udregnes procedure TLogForm.StartTidChange(Sender: TObject); begin if (StartTid.Text = \'\') then StartTid.Text := \'00:00:00\'; if (SlutTid.Text = \'\') then SlutTid.Text := \'00:00:00\'; DTid.Text := IntToStr(HourDiff(StrToTime(StartTid.Text),StrToTime(SlutTid.Text))); end;
med disse funktioner:
function Hours(Time: TDateTime): integer; var H, M, S, MS: word; begin DecodeTime(Time, H, M, S, MS); result := H; end;
function HourDiff(Beginning: TDateTime; Ending:TDateTime): integer; begin Result := Hours(Ending - Beginning); end;
Problemet er at lige meget hvilken to tider jeg sætter ind resultere Dtid.Text med et 0. Men jeg kan virkelig ikke se hvorfor.
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
det skal selvfølgelig være Result := M + (60 * H);
ellers kan det være fordi du dit starttidspunkt er større end sluttidspunktet, så bliver det et negativt resultat, og DecodeTime vil returnere 4 nuller
Ja, men ligefrem to functioner, Heltals delen er dage, komma delen minuter, så behøver man da ikke decodeTime, kunne man så ikke bare gøre :
Frac(Ending - Beginning) div 60;
Bare et foreslag.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.