Einzelnen Beitrag anzeigen

bbBowser
(Gast)

n/a Beiträge
 
#1

Datum generiert - teilweise seltsames ergebnis

  Alt 11. Sep 2006, 15:26
hi leute, ich hab folgendes problem:
ich hab mir en code geschrieben, mit dem ich beliebige daten in reihe generieren und in einen array speichern kann(als tdatetime). das amcht er auch alles wunderbar, inclusive schaltjahre usw.. das problem taucht erst auf wenn der 31.12.2006 überschritten wird, da zeigt er mir nämlich in meiner listbox 7 mal 30.12.1899 an und macht dann bei 8.1.2007 wieder korrekt weiter, bis zum 25.01, denn der 26.01 ist wiederrum der 30.12.1899 und das wieder für 7 tage. das selbe wiederholt sich am 19.2, 16.3., wobei danach, zumindest das jahr 2007(soweit reciht meine anzeige) fehlerfrei ausgegeben wird.

ich hoffe ihr versteht mein problem und amcht mich bitte auf einen mathematischen fehler oder ähnliches aufmerksam, bzw habt eine lösung meines problems . hier der relevante code:
Delphi-Quellcode:
day := 1;
month := 1;
year := 2006;
for d := 1 to 1000 do
begin

  date_dat_str[d] := StrToDate(inttostr(day)+'.'+inttostr(month)+'.'+inttostr(year));
  day := day+1;

  if (day > 31) and ((month = 1) or (month = 1) or (month = 3) or (month = 5) or (month = 7) or (month = 8) or (month = 10) or (month = 12))then
  begin
    day := 1;
    month := month+1;
  end;

  if (day > 30) and ((month = 4) or (month = 6) or (month = 9) or (month = 11))then
  begin
    day := 1;
    month := month+1;
  end;

  if (day > 29) and (month = 2) and ((year = 2008) or (year = 2012) or (year = 2016) or (year = 2020) or (year = 2024) or (year = 2028) or (year = 2032) or (year = 2036) or (year = 2040))then
  begin
    day := 1;
    month := month+1;
  end;

  if (day > 28) and (month = 2) and ((year <> 2008) and (year <> 2012) and (year <> 2016) and (year <> 2020) and (year <> 2024) and (year <> 2028) and (year <> 2032) and (year <> 2036) and (year <> 2040)) then
  begin
    day := 1;
    month := month+1;
  end;

  if month > 12 then
  begin
    month := 1;
    year := 2007;
  end;
dnke für eure hilfe im vorraus^^
  Mit Zitat antworten Zitat