Thema: Delphi Zellerscher Algotithmus

Einzelnen Beitrag anzeigen

The_Tremendous

Registriert seit: 10. Nov 2004
65 Beiträge
 
#1

Zellerscher Algotithmus

  Alt 7. Jun 2005, 11:59
Ich habe euch vorher ja schonmal mit meinem Datumsprog genervet, und hoffe, ihr könnt mir nochmal helfen. Ich bin Jetz mit dem Prog fas fertig, und muss nur noch den Wochentag von einem Taum bestimmen.

Die Delphifunktionen wie Dayof the week usw darf ich nicht nutzen. Die berechnung soll mit dem Zellerschen Algoritmus gelöst werden.

Delphi-Quellcode:
procedure TFrmDatum.WochentagBestimmen(WochenTag : String);
var ergebnis, day, month, year, century: integer;
begin
  day := StrToInt(copy(WochenTag,1,2));
  month := StrToInt(copy(WochenTag,4,2));
  century := StrToInt(copy(WochenTag,7,2));
  year := StrToInt(copy(WochenTag,9,2));
  ergebnis := (day +((13*month-1)div 5) + year + (year div 4) + (century div 4)
                -2*century) mod 7;
  if ergebnis < 0 then
  ergebnis := ergebnis * -1;

  ShowMessage('Das Datum ' +WochenTag+ ' liegt auf einem' + IntToStr(ergebnis));
end;
Weenn ich als Datum (in WochenTag enthalten) den 03.01.2005 übergebe, dann kommt da ein Mittwoch anstatt einem Montag raus.

Warum kommt bei der Variable meist ein negativer wert raus?? kann ja eigentlich auch net sein, oder??

Wäre gut, wenn mir jemand helfen könnte.
  Mit Zitat antworten Zitat