home *** CD-ROM | disk | FTP | other *** search
Modula Definition | 1990-11-23 | 2.7 KB | 75 lines |
- (* ------------------------------------------------------ *)
- (* BOX.DEF *)
- (* Message und Antwort-Boxen *)
- (* Ausgaberoutinen schreiben direkt auf den Bildschirm *)
- (* *)
- (* (c) 1991 Wolfhard Rinke & TOOLBOX *)
- (* ------------------------------------------------------ *)
- DEFINITION MODULE Box;
-
- FROM SYSTEM IMPORT BYTE;
-
- TYPE
- EntrySet = SET OF CHAR;
-
- VAR
- TextAttr : BYTE;
-
-
- (* ------------------------------------------------------ *)
-
- PROCEDURE WriteCharXY(col, row : CARDINAL;
- ch : CHAR;
- num : CARDINAL);
- (* Schreibt ein Zeichen "ch" an der Stelle *)
- (* "col", "row" "num"-mal in den Bildschirmspeicher. *)
-
- (* ------------------------------------------------------ *)
-
- PROCEDURE ClrScr(x1, y1, x2, y2 : CARDINAL);
- (* Löscht einen Bildschirmausschnitt. *)
-
- (* ------------------------------------------------------ *)
-
- PROCEDURE WriteTextXY(col, row : CARDINAL;
- s : ARRAY OF CHAR);
- (* Schreibt einen String in den Bildschirmspeicher *)
- (* Es gibt derzeit keine Kontrolle auf korrekte Länge *)
-
- (* ------------------------------------------------------ *)
-
- PROCEDURE Frame(x1, y1, x2, y2 : CARDINAL);
- (* Zeichnet einen doppelten Rahmen um einen Bild- *)
- (* schirmausschnitt. *)
-
- (* ------------------------------------------------------ *)
-
- PROCEDURE Shadow(x1, y1, x2, y2 : CARDINAL);
- (* "schattiert" den Bildschirmausschnitt. Zwischen *)
- (* Rahmen und dem Bildschirmrand muß noch Platz für *)
- (* den Schatten sein. Kein Check! *)
-
- (* ------------------------------------------------------ *)
-
- PROCEDURE Message(head : ARRAY OF CHAR;
- col, row : CARDINAL;
- s : ARRAY OF CHAR);
- (* "head" ist die Kopfzeile der Box. Wird der Leer- *)
- (* string als Parameter angegeben, erscheint keine *)
- (* Kopfzeile. Der Kopf wird zentriert. *)
-
- (* ------------------------------------------------------ *)
-
- PROCEDURE Answer(col, row : CARDINAL;
- s : ARRAY OF CHAR;
- corr : EntrySet;
- VAR ch : CHAR);
- (* Der Prozedur kann ein Zeichensatz übergeben werden,*)
- (* der die gültige Auswahl beinhaltet. *)
- (* Das angewählte Zeichen wird nicht mehr ausgegeben. *)
-
- END Box.
- (* ------------------------------------------------------ *)
- (* Ende von BOX.DEF *)
-
-