Thema: Delphi Uhrzeiten vergleichen

Einzelnen Beitrag anzeigen

Tango

Registriert seit: 17. Apr 2011
Ort: Aachen
64 Beiträge
 
Delphi XE2 Starter
 
#31

AW: Uhrzeiten vergleichen

  Alt 19. Okt 2014, 20:05
Habe mal etwas experimentiert, aber eins verstehe ich nicht (obwohl es klappt) im Doku steht

Code:
EncodeTime codiert die angegebenen Werte für Stunde, Minute, Sekunde und Millisekunde in einen Wert des Typs TDateTime.

[B]Für Hour sind Werte von 0 bis 23 zulässig.[/B]

Die gültigen Werte für Min und Sec liegen zwischen 0 und 59.

Die gültigen Werte für MSec liegen zwischen 0 und 999.
Wenn ich h=23 einstelle bekomme ich 23x falsches Wert wenn ich aber h=24 eingebe funktioniert es.

Delphi-Quellcode:
function GetShiftNameFromTime ( ATime : TTime ): string;
var
  LTime : TTime;
begin
  LTime := Frac ( ATime );
  if LTime < EncodeTime ( 6, 0, 0, 0 )
  then
    Result := 'Nachtscicht'
  else if LTime < EncodeTime ( 14, 0, 0, 0 )
  then
    Result := 'Frühschicht'
  else if LTime < EncodeTime ( 22, 0, 0, 0 )
  then
    Result := 'Spätschicht'
  else
    Result := 'Nachtschicht';
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
 Edit1.Text := GetShiftNameFromTime ( Now );
end;

procedure TForm1.Timer2Timer(Sender: TObject);
var
h, m, s, ms: Word;
begin
DecodeTime(Time, h, m, s, ms);
if (h >= 6) and (h< 24) then edit2.Text:=DateToStr(now)
else
edit2.Text:=DateToStr(now -1);
end;

end.
  Mit Zitat antworten Zitat