Hi Akut-Programming
,
Hab' mir mal 'n Paar Gedanken gemacht zu deinem Problem und Rumprobiert.
Ergebnis:
Delphi-Quellcode:
function Before_FormatTimeBis(InputIndex: Byte; InputA, InputB, InputC: String): String;
begin
Case InputIndex of
// Zeitformat hh:mm:ss
1 : Result := InputA;
// Zeitformat hh:mm
2 : Result := InputB + ':00';
// Zeitformat hh
3 : Result := InputC + ':00:00';
else
Result := '00:00:00';
end;
end;
function OnlyHours(Value: TTime): String;
var Buffer: String;
begin
Buffer := TimeToStr(Value);
Delete(Buffer, 3, 999);
Result := Buffer;
end;
function FormatToTime(Value: String): TTime;
begin
try
Result := StrToTime(Value);
except
Result := 0;
end;
end;
function GetTimeBis(Bis: TTime): TTime;
begin
Result := Time-Bis;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Edit2.Text :=
OnlyHours(
GetTimeBis(
FormatToTime(
Before_FormatTimeBis(2{-> Zeitformat hh:mm},
'', Edit1.Text{Input}, '')
)));
end;
In diesem Zustand gibt es aber 3 Probleme:
1. Die Zeit muss vollständig und im angegebenen Format sein
("Before_FormatTimeBis(2{-> Zeitformat hh:mm},'', Edit1.Text{Input}, '')") !
2. Die Zeit muss in der Zukunft liegen, sonst wird rauf- und nicht runtergezählt !
3. Die Zeit muss am selben Tag sein !
Viel Glück !