Immerwährender Kalender

Für alles, was in den übrigen Lazarusthemen keinen Platz, aber mit Lazarus zutun hat.
Antworten
BALCKAVID
Beiträge: 3
Registriert: Fr 12. Feb 2016, 07:56

Immerwährender Kalender

Beitrag von BALCKAVID »

Moin moin Leute!
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 :lol:
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 :mrgreen:

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;
Zuletzt geändert von Lori am Sa 13. Feb 2016, 09:11, insgesamt 1-mal geändert.
Grund: Highlighter

Requion
Beiträge: 106
Registriert: Mi 3. Feb 2016, 09:39
OS, Lazarus, FPC: Linux(Arch Linux(+ARM)/Minibian) (L 1.6.0 FPC 3.0.0)
CPU-Target: 32/64Bit,ARM(RPi)
Wohnort: nahe Grimma

Re: Immerwährender Kalender

Beitrag von Requion »

Hallo BALCKAVID,

herzlich Willkommen im Forum.
Ich habe zwar keine Antwort auf deine Frage aber einen gut gemeinten Rat.

Wenn du Quellcode postest, dann tu dies bitte mithilfe der Code-Tags. Damit die Leute auch ensprechend antworten können (und wollen).

[code=laz][/code]

Mfg Requion
Mfg Requion

Das beste an Standards ist, dass es so viele davon gibt.

baumina
Beiträge: 152
Registriert: Mo 3. Feb 2014, 14:07
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit

Re: Immerwährender Kalender

Beitrag von baumina »

Du kannst eine Real-Zahl mit dem Befehl TRUNC durch Abschneiden der Nachkommawerte in eine Integer-Zahl umwandeln, ob eine Rundung mit FLOOR sinnvoll ist, bezweifle ich.
.

indianer-frank
Beiträge: 134
Registriert: So 30. Nov 2008, 21:53

Re: Immerwährender Kalender

Beitrag von indianer-frank »

baumina hat geschrieben:Du kannst eine Real-Zahl mit dem Befehl TRUNC durch Abschneiden der Nachkommawerte in eine Integer-Zahl umwandeln, ob eine Rundung mit FLOOR sinnvoll ist, bezweifle ich.
Es kommt darauf an, ob negative Jahreszahlen zugelassen sind oder nicht. Für den eigentlichen gregorianischen Kalender, d.h. für Jahreszahlen ab 1582 liefern trunc und floor die gleichen Ergebnisse.

BALCKAVID
Beiträge: 3
Registriert: Fr 12. Feb 2016, 07:56

Re: Immerwährender Kalender

Beitrag von BALCKAVID »

Also so wie unsere Aufgabenstellung war, ging es im allgemeinen um den gregorianischen Kalender, sodass wir die Formel dazu nutzen können. Jedoch sollen auch Jahreszahlen vor der Einführung des Kalenders berechenbar sein.

BALCKAVID
Beiträge: 3
Registriert: Fr 12. Feb 2016, 07:56

Re: Immerwährender Kalender

Beitrag von BALCKAVID »

Requion hat geschrieben:Hallo BALCKAVID,

herzlich Willkommen im Forum.
Ich habe zwar keine Antwort auf deine Frage aber einen gut gemeinten Rat.

Wenn du Quellcode postest, dann tu dies bitte mithilfe der Code-Tags. Damit die Leute auch ensprechend antworten können (und wollen).

[code=laz][/code]

Mfg Requion


War noch nie auf einem Forum, aber danke. Ich werde es demnächst bearbeiten :)

Antworten