Joten Tach meine lieben!
Ich habe schon eine Menge Dienstzeit-Ende-Countdowns geshen, die meisten wurden mit Excel erstellt. Nun möchte ich für einen Kameraden einen etwas luxuriöseren Dienstzeitende Counter erstellen. Ich dachte mit dem Delphi Easy Helper und der Wühlerei hier in den Foren würde ich das schon hinbekommen.
Hier im Forum gibts eine Vielzahl von Datum/Uhrzeit Probleme und deren Lösung, aber irgendwie sehe ich den Wald vor lauter Bäumen nicht mehr. Ziel des Programms ist ganz simpel:
Man gibt:
- Diensteintritt ein (Editfeld.Text im Format 10.10.1998) und
- Dienstzeitende (ebenfalls Editfeld.Text z.B. 14.05.2014) ein
fertig.
Als Antwort sollte das Programm dann ausspucken:
Herr xy hat seit Montag, dem 10.10.1998 genau 7 Jahre, 7 Monate, 7 Tage, 7 Std, 7 Minuten und 43 Sekunden gedient und muss noch 9 Jahre, 7 Monate .... dienst leisten.
Folgendes hab ich bis jetzt mal realisiert:
Delphi-Quellcode:
procedure TForm1.sp_rechneClick(Sender: TObject);
var Tage_gedient, Tage_noch: integer;
begin
//Überprüfung Felder
If (e_eintritt.Text='') OR (e_dze.Text='') then
begin
ShowMessage('Bitte das Eintrittsdatum und DZE ausfüllen');
exit;
end
else
//ab hier ist die validierung okay
begin
//Berechnung der Tage
diensteintritt:=StrToDate(e_eintritt.Text);
dze:=StrToDate(e_dze.Text);
heute:=now;
Tage_noch:= DaysBetween(heute, dze);
Tage_gedient := DaysBetween(diensteintritt, heute);
l_2eintritt.Caption:='Du hast seit deinem Dienstantritt am ';
l_zeit.Caption:=IntToStr(Tage_gedient)+ ' Tage gedient und musst noch';
l_muil.Caption:=IntToStr(Tage_noch)+' Tage dienen!';
Ich bekomme die ANzahl der Tage als Integer zurück. Hmm aber wie mach ich daraus nun die Aufspaltung in Jahre, Monate, Tage usw zusammen mit einem laufenden Timer...
Und die Funktion die mir angeblich den genauen Wochentag anhand eines Datums zurückgibt geht auch nur mit dem "now" - sobald ich da selbst ein Datum im Format TT.MM.JJJJ eingebe ists murks.
Date, TDate, TDateTime usw machen mich noch ganz durcheinander. Mit welchem Format kann ich denn jetzt die Eingaben des Editfeldes miteinander "verrechnen" und nacher das Ergebnis entwsprechend formatieren???
liebe Grüsse aus Euskirchen
JJ