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.
Med version 7 af TeamShare tager Lector næste skridt og bygger en platform for AI-agenter, der i højere grad kan følge medarbejderen gennem hele arbejdsprocessen.
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.