home *** CD-ROM | disk | FTP | other *** search
/ TOS Silver 2000 / TOS Silver 2000.iso / programm / MM2_DEV / S / MOS / NUMBERIO.D < prev    next >
Encoding:
Modula Definition  |  1990-07-20  |  3.6 KB  |  97 lines

  1. DEFINITION MODULE NumberIO;
  2.  
  3. FROM SYSTEM IMPORT WORD, LONGWORD;
  4.  
  5. FROM Files IMPORT File;
  6.  
  7.  
  8.   (* Die folgenden Read... Prozeduren lesen Zahlen in Textform aus
  9.    * einer Datei ein.
  10.    * Der Parameter 'success' liefert FALSE im Fehlerfall beim Lesen,
  11.    * ansonsten das Ergebnis, ob die Zahl ermittelt werden konnte.
  12.    * Nach Aufruf der Funktionen steht, sofern kein Fehler aufgetreten ist,
  13.    * der Dateizeiger direkt hinter dem Zeichen, das die einzulesende Zahl
  14.    * begrenzte. Siehe hierzu die Umwandlungsfunktionen aus 'Convert'.
  15.    * Das begrenzende Zeichen kann mit den Aufrufen 'UndoRead' und
  16.    * 'ReadChar' ermittelt werden.
  17.    *)
  18.  
  19. PROCEDURE ReadCard (f: File; VAR card: CARDINAL; VAR success: BOOLEAN);
  20.   (* akzeptiert Dezimalzahlen, Hexzahlen ('$' voran) und Binärzahlen
  21.    * ('%' voran). *)
  22.  
  23. PROCEDURE ReadInt (f: File; VAR int: INTEGER; VAR success: BOOLEAN);
  24.   (* akzeptiert Dezimalzahlen, Hexzahlen ('$' voran) und Binärzahlen
  25.    * ('%' voran). *)
  26.  
  27. PROCEDURE ReadLCard (f: File; VAR card: LONGCARD; VAR success: BOOLEAN);
  28.   (* akzeptiert Dezimalzahlen, Hexzahlen ('$' voran) und Binärzahlen
  29.    * ('%' voran). *)
  30.  
  31. PROCEDURE ReadLInt (f: File; VAR int: LONGINT; VAR success: BOOLEAN);
  32.   (* akzeptiert Dezimalzahlen, Hexzahlen ('$' voran) und Binärzahlen
  33.    * ('%' voran). *)
  34.  
  35. PROCEDURE ReadNum (    f      : File;
  36.                    VAR num    : WORD;
  37.                        base   : CARDINAL; (* [2..36] *)
  38.                    VAR success: BOOLEAN);
  39.   (* akzeptiert positive, ganze Zahlen zur angegebenen Basis (Vorzeichen,
  40.    * sowie '%' und '$' werden nicht akzeptiert).
  41.    * Die Ziffernwerte 10 bis 36 werden dabei durch die Buchstaben 'A' bis 'Z'
  42.    * (groß oder klein) bestimmt *)
  43.  
  44. PROCEDURE ReadLNum (    f      : File;
  45.                     VAR num    : LONGWORD;
  46.                         base   : CARDINAL; (* [2..36] *)
  47.                     VAR success: BOOLEAN);
  48.   (* akzeptiert positive, ganze Zahlen zur angegebenen Basis (Vorzeichen,
  49.    * sowie '%' und '$' werden nicht akzeptiert).
  50.    * Die Ziffernwerte 10 bis 36 werden dabei durch die Buchstaben 'A' bis 'Z'
  51.    * (groß oder klein) bestimmt *)
  52.  
  53.  
  54. PROCEDURE ReadReal  (f: File; VAR r: REAL;     VAR success: BOOLEAN);
  55. PROCEDURE ReadLReal (f: File; VAR r: LONGREAL; VAR success: BOOLEAN);
  56.  
  57.  
  58. PROCEDURE WriteCard  (f: File; card: LONGCARD; width: CARDINAL);
  59. PROCEDURE WriteInt   (f: File; int : LONGINT;  width: CARDINAL);
  60.  
  61. PROCEDURE WriteHex   (f: File; hex : WORD;     width: CARDINAL);
  62. PROCEDURE WriteLHex  (f: File; hex : LONGWORD; width: CARDINAL);
  63.  
  64. PROCEDURE WriteNum (f      : File;
  65.                     num    : WORD;
  66.                     base   : CARDINAL;  (* [2..26] *)
  67.                     width  : CARDINAL;
  68.                     filler : CHAR);
  69.  
  70. PROCEDURE WriteLNum (f      : File;
  71.                      num    : LONGWORD;
  72.                      base   : CARDINAL; (* [2..36] *)
  73.                      width  : CARDINAL;
  74.                      filler : CHAR);
  75.  
  76. PROCEDURE WriteFix   (f        : File;
  77.                       real     : LONGREAL;
  78.                       width    : CARDINAL;
  79.                       decPlaces: CARDINAL);
  80.  
  81. PROCEDURE WriteFloat (f        : File;
  82.                       real     : LONGREAL;
  83.                       width    : CARDINAL;
  84.                       decPlaces: CARDINAL);
  85.  
  86. PROCEDURE WriteEng   (f        : File;
  87.                       real     : LONGREAL;
  88.                       width    : CARDINAL;
  89.                       decPlaces: CARDINAL);
  90.  
  91. PROCEDURE WriteReal  (f        : File;
  92.                       real     : LONGREAL;
  93.                       width    : CARDINAL;
  94.                       decPlaces: CARDINAL);
  95.  
  96. END NumberIO.
  97.