mmm da wären wir wieder beim thema Function
habe es jetzt so gelöst und funktioniert Prima:
Delphi-Quellcode:
procedure TForm3.Button2Click(Sender: TObject);
var
Ausgabe : string;
Eingabe : string;
Zeitverschiebung : integer;
iTime : integer;
NormalesDatum : tDateTime;
hh, mm, ss, ms : word;
const
FirstOf1970 = 25569; // in Sekunden seit 30.12.1899 bis 01.01.1970 (WinZeit -> UnixZeit)
OneDay = 86400; // Sekunden
OneHour = 3600; // Sekunden
OneMinute = 60; // Sekunden
begin
if Edit1.Text = '' then Edit1.Text := FormatDateTime('dd.mm.yyyy', now);
if Edit2.Text = '' then Edit2.Text := '00:00';
if Edit3.Text = '' then Edit3.Text := '0';
Eingabe := Edit1.Text + ' ' + Edit2.Text; // Datum und Zeit zusammenfuegen
NormalesDatum := StrToDateTime(Eingabe); // Eingabe in Datumsformat umwandeln
Zeitverschiebung := strtoint(Edit3.Text) * OneHour; // Zeitverschiebung berechnen
DecodeTime(NormalesDatum, hh, mm, ss, ms);
iTime := (Trunc(NormalesDatum) - FirstOf1970) * OneDay; // Tage seit 1.1.1970 in Sekunden abziehen
iTime := iTime + (hh * OneHour); // Stunden
iTime := iTime + (mm * OneMinute); // Minuten
iTime := iTime + ss; // Sekunden
iTime := iTime + Zeitverschiebung; // Zeitverschiebung beachten
if iTime < 0 then iTime := 0; // nur positive Ausgabe
Ausgabe := inttostr(iTime);
Edit4.Text := Ausgabe;
end;
so schaut das ganze in der Eingabe aus: