Erst mal formatieren, dann schauen, dann denken
Delphi-Quellcode:
procedure*TForm1.Timer1Timer(Sender: TObject);
Var*
Time, LastTime: TDateTime;
begin
**If*(Frac(Time) <= StrToTime('06:00:00'))*and*(Frac(Time) > StrToTime('14:00:00'))
**Then
****LastTime := now;
edit1.Text:= 'Frühschicht';
If*(Frac(Time) <= StrToTime('14:00:01'))*and*(Frac(Time) > StrToTime('22:00:00'))
**Then
edit1.Text:= 'Spätschicht';
LastTime := Now ;
end;
end.
Welchen Wert hat
Time
? - Irgendeinen, also ein Zufallsgenerator?
Wofür wird
LastTime
ein Wert zugeordnet? Für nix.
Ich würde es mal damit probieren
Delphi-Quellcode:
function GetShiftNameFromTime ( ATime : TTime ): string;
var
LTime : TTime;
begin
LTime := Frac ( ATime );
if LTime < EncodeTime ( 6, 0, 0 )
then
Result := 'Nachtschicht'
else if LTime < EncodeTime ( 14, 0, 0 )
then
Result := 'Frühschicht'
else if LTime < EncodeTime ( 22, 0, 0 )
then
Result := 'Spätschicht'
else
Result := 'Nachtschicht';
end;
Verwenden dann so
Delphi-Quellcode:
procedure TForm1.Timer1Timer ( Sender : TObject );
begin
Edit1.Text := GetShiftNameFromTime ( Now );
end;
So habe es mal ausprobiert, bekomme Fehlermeldung, nicht des so Trotzt so wie ich es verstanden habe überprüft der Timer ob es exakt 6:00 oder 14:00 ist
es sollte aber zwischen 6:00-14:00, 14:01-22:00, 22:01-6:00 unterscheiden.