home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / modula2 / compiler / m2mmdemo / isinst / module / inputdem.mod < prev    next >
Encoding:
Text File  |  1989-02-27  |  3.9 KB  |  123 lines

  1.  
  2. MODULE InputDemo;
  3.   (*---------------------------------------------------------------------*)
  4.   (*                         I N P U T - D E M O                         *)
  5.   (*                           M 2 P R O L I B                           *)
  6.   (*  Copyright (C) 1987    Bühlmann Computer Software   CH-8636 WALD    *)
  7.   (*                     -- All Rights Reserved --                       *)
  8.   (*---------------------------------------------------------------------*)
  9.   (*  Author: X. Bühlmann                                                *)
  10.   (*                                                                     *)
  11.   (*  Version 1.0      Date: 28/09/88                                    *)
  12.   (*---------------------------------------------------------------------*)
  13.   FROM SpecSupport IMPORT eRealNumRepType, ScrRNRep;
  14.   FROM RealRound IMPORT Round;
  15.   IMPORT Screen, ScreenNum, Input, InputNum;
  16.   (*
  17.     *)
  18.   (*[+JPI*)
  19.   TYPE
  20.     REAL = LONGREAL;
  21.   (*]*)
  22.   VAR
  23.     c, ii : CARDINAL;
  24.     i : INTEGER;
  25.     l : LONGINT;
  26.     r : REAL;
  27.     s : ARRAY [0..50] OF CHAR;
  28.   PROCEDURE cardOK(VAR card : CARDINAL): BOOLEAN;
  29.     BEGIN
  30.       RETURN TRUE;
  31.       RETURN (card>100)&(card<10000);
  32.     END cardOK;
  33.   PROCEDURE intOK(VAR int : INTEGER): BOOLEAN;
  34.     BEGIN
  35.       RETURN (int>-100)&(int<10000);
  36.     END intOK;
  37.   PROCEDURE longOK(VAR long : LONGINT): BOOLEAN;
  38.     BEGIN
  39.       RETURN (long>LONGINT(-1000000))&(long<LONGINT(1000000));
  40.     END longOK;
  41.   PROCEDURE realOK(VAR real : REAL): BOOLEAN;
  42.     BEGIN
  43.       RETURN (real>-10.00)&(real<9999999.0);
  44.     END realOK;
  45.   PROCEDURE charOK(VAR chr : CHAR): BOOLEAN;
  46.     BEGIN
  47.       chr := CAP(chr);
  48.       RETURN (chr>='A')&(chr<='Z');
  49.     END charOK;
  50.   PROCEDURE Copyright();
  51.     BEGIN
  52.       Screen.ClearScrBound();
  53.       Screen.ScrWriteLn();
  54.       Screen.ScrPutString(
  55.           '               I N P U T - D E M O    Version 1.0  ');
  56.       Screen.ScrWriteLn();
  57.       Screen.ScrPutString(
  58.           '                           1 9 8 8                 ');
  59.       Screen.ScrWriteLn();
  60.       Screen.ScrWriteLn();
  61.       Screen.ScrPutString(
  62.           '                         Copyright by           ');
  63.       Screen.ScrWriteLn();
  64.       Screen.ScrPutString(
  65.           '                 (c) Bühlmann Computer Software    ');
  66.       Screen.ScrWriteLn();
  67.       Screen.ScrPutString(
  68.           '                         CH-8636 Wald              ');
  69.       Screen.ScrWriteLn();
  70.     END Copyright;
  71.   BEGIN
  72.     Input.CharOK := charOK;
  73.     InputNum.CardOK := cardOK;
  74.     InputNum.IntOK := intOK;
  75.     InputNum.LongOK := longOK;
  76.     InputNum.RealOK := realOK;
  77.     Copyright();
  78.     c := 324;
  79.     i := 0;
  80.     l := LONGINT(0);
  81.     r := 23120.0;
  82.     s := '';
  83.     FOR ii := 1 TO 3 DO
  84.       Screen.ScrPutString('Eingabe String : ');
  85.       Input.ReadString(s);
  86.       Screen.ScrWriteLn();
  87.     END;
  88.     FOR ii := 1 TO 3 DO
  89.       Screen.ScrPutString('Eingabe Cardinal-Zahl : ');
  90.       InputNum.ReadCard(c, 5);
  91.       Screen.ScrPutString('     =');
  92.       ScreenNum.WriteCard(c, 15);
  93.       Screen.ScrWriteLn();
  94.     END;
  95.     FOR ii := 1 TO 3 DO
  96.       Screen.ScrPutString('Eingabe Integer-Zahl : ');
  97.       InputNum.ReadInt(i, 6);
  98.       Screen.ScrPutString('     =');
  99.       ScreenNum.WriteInt(i, 15);
  100.       Screen.ScrWriteLn();
  101.     END;
  102.     FOR ii := 1 TO 3 DO
  103.       Screen.ScrPutString('Eingabe Longint-Zahl : ');
  104.       InputNum.ReadLong(l, 12);
  105.       Screen.ScrPutString('     =');
  106.       ScreenNum.WriteLong(l, 15);
  107.       Screen.ScrWriteLn();
  108.     END;
  109.     FOR ii := 1 TO 3 DO
  110.       ScrRNRep := upper;
  111.       Screen.ScrPutString('Eingabe Real-Zahl : ');
  112.       InputNum.ReadReal(r, 9, 3);
  113.       Screen.ScrWriteLn();
  114.       ScrRNRep := lower;
  115.       Screen.ScrPutString(' =');
  116.       ScreenNum.WriteReal(r, 12, 2);
  117.       Screen.ScrPutString('    gerundet auf 0.05 =');
  118.       ScreenNum.WriteReal(r, 12, 2);
  119.       Screen.ScrWriteLn();
  120.       r := 0.0;
  121.     END;
  122.   END InputDemo.
  123.