[Delphi] Berechnen von Feiertagen speziell Ostern

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • [Delphi] Berechnen von Feiertagen speziell Ostern

    Berechnen von Feiertagen speziell Ostern

    Ostern:

    [code:1]procedure Ostern(var otag, omon: integer; jahr: integer); {nach Gauss}
    var
    a,b,c : integer;
    begin
    a:=jahr mod 19;
    b:=(204-11*a) mod 30;
    if b in [28,29] then dec(b);
    c:=(jahr+jahr div 4+b-13) mod 7;
    otag:=28+b-c-2;omon:=3;
    if otag>31 then
    begin
    dec(otag,31);
    inc(omon);
    end;
    end;[/code:1]

    Das Ergebnis steht dann in den ersten zwei Parametern drin. Im dritten Parameter wird das Jahr übergeben, für das Ostern angezeigt werden soll.
  • Re: [Delphi] Berechnen von Feiertagen speziell Ostern

    "cge" schrieb:

    Berechnen von Feiertagen speziell Ostern

    Ostern:

    [code:1]procedure Ostern(var otag, omon: integer; jahr: integer); {nach Gauss}
    var
    a,b,c : integer;
    begin
    a:=jahr mod 19;
    b:=(204-11*a) mod 30;
    if b in [28,29] then dec(b);
    c:=(jahr+jahr div 4+b-13) mod 7;
    otag:=28+b-c-2;omon:=3;
    if otag>31 then
    begin
    dec(otag,31);
    inc(omon);
    end;
    end;[/code:1]

    Das Ergebnis steht dann in den ersten zwei Parametern drin. Im dritten Parameter wird das Jahr übergeben, für das Ostern angezeigt werden soll.


    Hm, die Procedure gibt mir für dieses Jahr den Karfreitag, aber nicht Ostern aus. :oops:
  • Re: [Delphi] Berechnen von Feiertagen speziell Ostern

    "mentalVar" schrieb:

    "cge" schrieb:

    Berechnen von Feiertagen speziell Ostern

    Ostern:

    [code:1]procedure Ostern(var otag, omon: integer; jahr: integer); {nach Gauss}
    var
    a,b,c : integer;
    begin
    a:=jahr mod 19;
    b:=(204-11*a) mod 30;
    if b in [28,29] then dec(b);
    c:=(jahr+jahr div 4+b-13) mod 7;
    otag:=28+b-c-2;omon:=3;
    if otag>31 then
    begin
    dec(otag,31);
    inc(omon);
    end;
    end;[/code:1]

    Das Ergebnis steht dann in den ersten zwei Parametern drin. Im dritten Parameter wird das Jahr übergeben, für das Ostern angezeigt werden soll.


    Hm, die Procedure gibt mir für dieses Jahr den Karfreitag, aber nicht Ostern aus. :oops:


    [code:1]
    procedure TForm1.FormCreate(Sender: TObject);
    var tag, monat,jahr:integer;
    begin
    jahr:=yearof(now);

    Ostern(tag,monat,jahr);

    Label1.Caption:= inttostr(tag)+'.'+ inttostr(monat); //<- 10.4.(Karfreitag
    ...
    [/code:1]