Home » Tipps & Tricks » Algorithmen » Feiertage » Herrentag/Christi Himmelfahrt

Herrentag/Christi Himmelfahrt

Als Parameter muss das Datum von Ostern übergeben werden. Der erste Parameter ist an dieser Stelle der Tag und der zweite Parameter der Monat. Das Datum von Ostern kann mit der Procedure aus dem entsprechenden Tipp ermittelt werden.
Das Ergebnis wird dann in den letzten beiden Parametern hinterlegt. Es wird das genaue Datum des Herrentags berechnet. In manchen Gegenden heißt diese Tag auch Christi Himmelfahrt oder Vatertag.

procedure HerrenTag(day, month: integer; var hday, hmonth: integer);
begin
  hday := day + 39;
  hmonth := omonth;
  if hday > 30 then
  begin
    dec(hday, 30);
    inc(hmonth);
  end;
  if hday > 31 then
  begin
    dec(hday, 31);
    inc(hmonth);
  end;
end;

Aufrufen könnte man die Procedure z.B. so:

procedure TForm1.Button1Click(Sender: TObject);
var
  Day, Month: Integer;
begin
  HerrenTag(15,4,Day,Month);
  Label1.Caption:=IntToStr(Day);
  Label2.Caption:=IntToStr(Month);
end;