Einzelnen Beitrag anzeigen

DaveMitHut

Registriert seit: 19. Okt 2010
Ort: Erkelenz
13 Beiträge
 
Turbo Delphi für Win32
 
#1

Problem beim berechnen von vergangenen Tagen

  Alt 21. Okt 2010, 19:02
Hallo allerseits!

In der Schule schreiben wir zur Zeit ein Programm mit Delphi, dass uns den Wochentag eines eigegebenen Datums nennt, vornehmlich soll es dazu dienen, den Wochentag des eigenen Geburtstages zu erfahren/errechnen.
Dazu haben wir eine Funktion geschrieben, die uns die Anzahl der bisher vergangenen Tage des eingegebenen Jahres errechnet. Heute habe ich aber gemerkt, dass sich das Programm verrechnet und ich daher einen Fehler im Quellcode haben muss.
z.B. wenn man den 30.12. eingibt werden 368(369 im Schaltjahr) vergangene Tage angezeigt, wobei es nur 364 bzw. 365 im Schaltjahr sind.

Delphi-Quellcode:
function TKalender.CalcDays (pTag:integer; pMonat:integer; pSchalt:boolean) : integer;
var I,Days :integer;
begin
     Days := 0;
     for I := 1 to pMonat - 1 do
     begin
        if I=2 then
           if pSchalt then
              Days := Days + 29
           else Days := Days + 28
        else if (I=4 or 6 or 9 or 11) then
           Days := Days + 30
        else Days := Days + 31;
     end;
     Days := Days + pTag;
     result := Days;
end;
Das ist der Quellcode. Könnte mir einer von euch helfen, den Fehler zu finden?
David
  Mit Zitat antworten Zitat