Einfachere Lösung

 [Vorheriges Kapitel]  [Vorherige Seite]  [Inhaltsverzeichnis]  [Nächste Seite]  [Nächstes Kapitel]

DaysLeft.m2
MODULE DaysLeft;

   FROM Arguments IMPORT InitArgs, FetchString, AllArgs,
      Usage;
   FROM Calendar IMPORT Date, Daytime, CurrentTime,
      ConvertTime;
   FROM InOut IMPORT WriteString, WriteCard, WriteLn;
   FROM TimeIO IMPORT Done, SreadDate, ReleaseList, Append;

   VAR
      date: Date; (* Datum aus der Kommandozeile *)
      today: Date; (* heutiges Datum *)

   PROCEDURE InitTimeIO; (* ... folgt ... *)
   PROCEDURE ProcessArgs; (* ... folgt ... *)
   PROCEDURE CurrentDate() : Date; (* ... folgt ... *)

BEGIN
   InitTimeIO;
   ProcessArgs;
   today := CurrentDate();
   IF date >= today THEN
      WriteCard(date - today, 1); WriteLn;
   ELSE
      WriteString("Das Datum stammt aus der Vergangenheit.");
      WriteLn;
   END;
END DaysLeft.

*Es geht auch einfacher, wenn berücksichtigt wird, daß Date ein außerordentlich praktischer Datentyp ist :-)
 

 [Vorheriges Kapitel]  [Vorherige Seite]  [Inhaltsverzeichnis]  [Nächste Seite]  [Nächstes Kapitel]
Copyright © 1999 Andreas Borchert, in HTML konvertiert am 13.01.1999