Delphi-PRAXiS
Seite 4 von 4   « Erste     234   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Uhrzeiten vergleichen (https://www.delphipraxis.net/128008-uhrzeiten-vergleichen.html)

Tango 19. Okt 2014 20:05

AW: Uhrzeiten vergleichen
 
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 23:xx 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.

Sir Rufo 19. Okt 2014 20:13

AW: Uhrzeiten vergleichen
 
:wiejetzt:
Wo geht was nicht, wo hast du
Delphi-Quellcode:
EncodeTime
mit h=23?

Tango 19. Okt 2014 20:19

AW: Uhrzeiten vergleichen
 
Zitat:

Zitat von Sir Rufo (Beitrag 1276614)
:wiejetzt:
Wo geht was nicht, wo hast du
Delphi-Quellcode:
EncodeTime
mit h=23?

Nee, EncodeTime meine ich nicht DecodeTime wenn ich h(stunde)< wie 23 Stunden schreibe (soll ja von 0-23 sein) bekomme ich nicht das Resultat was ich haben wollte.
Ich habe es auch falsch formuliert, wenn die Zeit zwischen 22:00 bis 6:00 ist ist es Nachtschicht.

Angenommen Heute haben wir 20.10.2014 ,ab 0:00Uhr wird es 21.10.2014 es soll aber erst ab 6:00 21.10.2014 werden weil von 0:00-6:00 noch zur Nachtschicht gehört.
deswegen habe ich es so eingestellt zwischen 6:00-24:00 eingegeben.


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:23 Uhr.
Seite 4 von 4   « Erste     234   

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-2025 by Thomas Breitkreuz