![]() |
Uhrzeiten (Differenz) ermitteln
Hallo
Ich habe 3 DBedit-Felder in dem DBeditFeld1 gebe ich eine Startuhrzeit ein und in dem DBeditFeld2 die Enduhrzeit. Jetzt möchte ich per Druck auf Button1 den Abstand oder besser die Differenz zwischen den beiden Uhrzeit im DBeditFeld3 auf dem Bildschirm anzeigen und eintragen! Für eine Datumsangabe habe ich das hinbekommen aber weis jemand wie das für die Uhrzeiten geht? (Die DBFelder sind in einer Paradox-Datenbank vom Typ-T) Gruß Mitchl :coder: |
Hallo Mitchl,
konnte kein Problem finden:
Code:
mfg
procedure TForm.SpeedButton1Click(Sender: TObject);
begin // Datei öffnen UP_DBActiv(Tab2, SessN, 'c:\tmp\', 'Timetest.DB'); Tab2.First; while not Tab2.Eof do begin Tab2.Edit; Tab2.FieldByname('T3').AsDateTime := Tab2.FieldByname('T2').AsDateTime - Tab2.FieldByname('T1').AsDateTime; Tab2.Next; end; end; eddy |
Delphi-Quellcode:
kann man nun einfach so rechnen wie mit normalen Zahlen, oder?
TDateTime = type Double;
|
Hallo
die Uhrzeit wird nicht richtig berechnet wenn es z.B. von 20:00 bis 04:00 Uhr geht! Hat jemand eine Lösung für dieses Problem? Gruß Mitchl |
Hallo Mitchl,
ich will ja nicht lästern, aber ein bischen Nachdenken hilft manchmal weiter :mrgreen: Beim schnellen Test mit 08:30 bis 04:20 ist mir der Fehler schon aufgefallen, aber das auszuwerten sollte wohl kein Problem sein. Sollte sich das zur Zeit gehörende Datum auch noch um mehr als einen Tag unterscheiden, kann man das natürlich auch noch austesten und auswerten.
Code:
mfg
procedure TFInfoFinder.SpeedButton1Click(Sender: TObject);
var dt, dt1, dt2 : TDateTime; begin UP_DBActiv(Tab2, SessN, 'c:\kasse\tmp\', 'Timetest.DB'); Tab2.First; while not Tab2.Eof do begin dt1 := Tab2.FieldByname('T1').AsDateTime; dt2 := Tab2.FieldByname('T2').AsDateTime; if dt2 < dt1 then begin dt := 24 - dt1 + dt2; end else dt := dt2 - dt1; Tab2.Edit; Tab2.FieldByname('T3').AsDateTime := dt; Tab2.Next; end; end; eddy |
Hey Eddy...
Deine Lösung ist mir auch eingefallen! Dachte aber daran, ob es bei Delphi irgendeine Funtion gibt, die das ganze nochmehr abkürzen können! Aber Trotzdem danke für die Lösung! Gruß Mitchl :coder: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:44 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz