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.