AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Datum generiert - teilweise seltsames ergebnis

Datum generiert - teilweise seltsames ergebnis

Ein Thema von bbBowser · begonnen am 11. Sep 2006 · letzter Beitrag vom 11. Sep 2006
 
bbBowser
(Gast)

n/a Beiträge
 
#1

Datum generiert - teilweise seltsames ergebnis

  Alt 11. Sep 2006, 14: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
 

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:50 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz