Einlese-Prozeduren

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

AddressBook2.om
PROCEDURE ReadName(VAR name: Name) : BOOLEAN;
   (* read a name and return TRUE if successful;
      note that we return FALSE
      in case of empty input lines
   *)
BEGIN
   Write.String("Name: "); Read.Line(name);
   RETURN (Streams.stdin.count > 0) & (name # "")
END ReadName;

*Einlese-Operationen lassen sich gut in Prozeduren einbetten.
 
*Wenn diese Prozeduren ein BOOLEAN-Resultat je nach Erfolg liefern, dann lassen sich die weniger eleganten LOOP-Einleseschleifen in elegante WHILE-Schleifen konvertieren.
 
AddressBook2.om
PROCEDURE ReadCity(VAR city: Name) : BOOLEAN;
   (* read a name and return TRUE if successful;
      note that we permit an empty input line
   *)
BEGIN
   Write.String("City: "); Read.Line(city);
   RETURN Streams.stdin.count > 0
END ReadCity;

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