Registriert seit: 7. Mai 2013
11 Beiträge
Delphi 7 Personal
|
AW: Datumsdifferenz berechnen?
22. Jan 2014, 20:04
Habe das Programm inzwischen geschafft
Delphi-Quellcode:
program Project2;
{$APPTYPE CONSOLE}
uses
SysUtils;
type
tMonat = array [1..12] of integer;
tDatum = record
Tag: 1..31;
Monat: 1..12;
Jahr: 2014..maxint;
end; // of record
var
heute, ferien: tDatum;
monate : tmonat = (31,29,31,30,31,30,31,31,30,31,30,31);
tage: integer;
function tagebisferien (datumheute, datumferienbeginn: tDatum): integer;
var
verbleibendetage: integer;
begin
verbleibendetage := 0;
if datumheute.monat <> datumferienbeginn.Monat then
begin
verbleibendetage := verbleibendetage + (monate[datumheute.monat] - datumheute.Tag);
datumheute.monat :=datumheute.monat +1;
while (datumheute.Monat <> datumferienbeginn.monat) do
begin
verbleibendetage := verbleibendetage + (monate[datumheute.Monat]);
datumheute.monat := datumheute.monat +1;
end;
verbleibendetage := verbleibendetage + datumferienbeginn.tag;
end
else verbleibendetage := datumferienbeginn.tag - datumheute.tag;
result := verbleibendetage;
end;
begin
writeln('[= Heutiges Datum =]');
write('Tag: '); readln(heute.Tag);
write('Monat: '); readln(heute.Monat);
write('Jahr: '); readln(heute.Jahr);
writeln('[= Feriendatum =]');
write('Tag: '); readln(ferien.Tag);
write('Monat: '); readln(ferien.Monat);
write('Jahr: '); readln(ferien.Jahr);
if (heute.Tag > ferien.Tag) AND (heute.Monat > ferien.Monat) AND (heute.Jahr = ferien.Jahr) then
writeln('Ungueltige Angaben!')
else
begin
tage := tagebisferien(heute, ferien);
writeln('Es ist/sind noch ',abs(tage),' Tag/Tage bis zu den naechsten Ferien');
end;
readln;
end.
|
|
Zitat
|