PROCEDURE CalcDays(today, future: Calendarday) : INTEGER;
(* liefert die Zahl der Tage zwischen today und future,
wobei future auch in der Vergangenheit liegen darf;
in diesem Fall wird ein negativer Wert zurueckgeliefert
*)
VAR
md: ARRAY [1..12] OF Day;
days: INTEGER;
(* ... LeapYear und Days ... *)
BEGIN (* CalcDays *)
md[1] := 31; md[2] := 28; md[3] := 31; md[4] := 30;
md[5] := 31; md[6] := 30; md[7] := 31; md[8] := 31;
md[9] := 30; md[10] := 31; md[11] := 30; md[12] := 31;
days := (future.year - today.year) * 365;
RETURN days + Days(future) - Days(today)
END CalcDays;
|