Ich möchte bei Lazarus einen ewigen oder immerwährenden Kalender, mit Hilfe der Gausschen Wochentagsberechnung programmieren. Dazu gab's ja eine schöne Formel bei Wiki für den Gregorianischen Kalender. Ehrlich gesagt bin ich nen Depp im Programmieren

Jedoch darf ich das ganze bis kommenden Dienstag im Informatikunterricht abgeben. Die Sache ist, dass der Compiler bei dem Mod-Befehl rummeckert. Ich glaube das hat irgendwas mit dem REAL und INTEGER Typ zu tun. Vielleicht kann jemand den Fehler darin finden, ihn umschreiben und mir weiterhelfen

Code: Alles auswählen
procedure TForm1.Button1Click(Sender: TObject);
var q,m,y,K,J,n : longint;
h : real;
begin
y:= StrToInt(Edit3.text);
q:= StrToInt(Edit1.text);
m:= StrToInt(Edit2.text);
J:= y div 100;
K:= y mod 100;
h:= (q+((261/100)*m-(2/10))+K+floor(K/4) + floor(J/4) -2*J);
n:= h mod 7;
if n<0 then n:=n+7;
if n=1 then
Edit4.text:='Sonntag';
if n=2 then
Edit4.text:='Montag';
if n=3 then
Edit4.text:='Dienstag';
if n=4 then
Edit4.text:='Mittwoch';
if n=5 then
Edit4.text:='Donnerstag';
if n=6 then
Edit4.text:='Freitag';
if n=0 then
Edit4.text:='Samstag';
end;