Zeichenketten

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

PROCEDURE ProcessCmds;
   VAR
      cmd: ARRAY 80 OF CHAR;
BEGIN
   LOOP
      Read.Line(cmd);
      IF Streams.stdin.count = 0 THEN EXIT END;
      IF cmd = "quit" THEN
         EXIT
      ELSIF cmd = "help" THEN
         Write.Line("Following commands are available:");
         Write.Line("help    returns this information");
         Write.Line("quit    leave this program");
         (* ... *)
      ELSIF cmd = "..." THEN
         (* ... *)
      ELSE
         Write.Line("Unknown command -- try help.");
      END;
   END;
END ProcessCmds;

*Der Vergleich von Zeichenketten ist wie bei numerischen Datentypen direkt möglich. In Modula-2 waren dafür Bibliotheksprozeduren notwendig (z.B. Strings.StrCmp in der Ulmer Bibliothek).
 
*Zeichenketten beliebigen Typs können mit der Operation COPY(source, target) kopiert werden. Dies geht auch dann gut, wenn source länger als target ist -- in diesem Fall wird eben nur soweit kopiert, wie der Platz in target reicht. In jedem Fall wird target mit einem Nullbyte 0X abgeschlossen.
 

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