home *** CD-ROM | disk | FTP | other *** search
-
- MODULE InputDemo;
- (*---------------------------------------------------------------------*)
- (* I N P U T - D E M O *)
- (* M 2 P R O L I B *)
- (* Copyright (C) 1987 Bühlmann Computer Software CH-8636 WALD *)
- (* -- All Rights Reserved -- *)
- (*---------------------------------------------------------------------*)
- (* Author: X. Bühlmann *)
- (* *)
- (* Version 1.0 Date: 28/09/88 *)
- (*---------------------------------------------------------------------*)
- FROM SpecSupport IMPORT eRealNumRepType, ScrRNRep;
- FROM RealRound IMPORT Round;
- IMPORT Screen, ScreenNum, Input, InputNum;
- (*
- *)
- (*[+JPI*)
- TYPE
- REAL = LONGREAL;
- (*]*)
- VAR
- c, ii : CARDINAL;
- i : INTEGER;
- l : LONGINT;
- r : REAL;
- s : ARRAY [0..50] OF CHAR;
- PROCEDURE cardOK(VAR card : CARDINAL): BOOLEAN;
- BEGIN
- RETURN TRUE;
- RETURN (card>100)&(card<10000);
- END cardOK;
- PROCEDURE intOK(VAR int : INTEGER): BOOLEAN;
- BEGIN
- RETURN (int>-100)&(int<10000);
- END intOK;
- PROCEDURE longOK(VAR long : LONGINT): BOOLEAN;
- BEGIN
- RETURN (long>LONGINT(-1000000))&(long<LONGINT(1000000));
- END longOK;
- PROCEDURE realOK(VAR real : REAL): BOOLEAN;
- BEGIN
- RETURN (real>-10.00)&(real<9999999.0);
- END realOK;
- PROCEDURE charOK(VAR chr : CHAR): BOOLEAN;
- BEGIN
- chr := CAP(chr);
- RETURN (chr>='A')&(chr<='Z');
- END charOK;
- PROCEDURE Copyright();
- BEGIN
- Screen.ClearScrBound();
- Screen.ScrWriteLn();
- Screen.ScrPutString(
- ' I N P U T - D E M O Version 1.0 ');
- Screen.ScrWriteLn();
- Screen.ScrPutString(
- ' 1 9 8 8 ');
- Screen.ScrWriteLn();
- Screen.ScrWriteLn();
- Screen.ScrPutString(
- ' Copyright by ');
- Screen.ScrWriteLn();
- Screen.ScrPutString(
- ' (c) Bühlmann Computer Software ');
- Screen.ScrWriteLn();
- Screen.ScrPutString(
- ' CH-8636 Wald ');
- Screen.ScrWriteLn();
- END Copyright;
- BEGIN
- Input.CharOK := charOK;
- InputNum.CardOK := cardOK;
- InputNum.IntOK := intOK;
- InputNum.LongOK := longOK;
- InputNum.RealOK := realOK;
- Copyright();
- c := 324;
- i := 0;
- l := LONGINT(0);
- r := 23120.0;
- s := '';
- FOR ii := 1 TO 3 DO
- Screen.ScrPutString('Eingabe String : ');
- Input.ReadString(s);
- Screen.ScrWriteLn();
- END;
- FOR ii := 1 TO 3 DO
- Screen.ScrPutString('Eingabe Cardinal-Zahl : ');
- InputNum.ReadCard(c, 5);
- Screen.ScrPutString(' =');
- ScreenNum.WriteCard(c, 15);
- Screen.ScrWriteLn();
- END;
- FOR ii := 1 TO 3 DO
- Screen.ScrPutString('Eingabe Integer-Zahl : ');
- InputNum.ReadInt(i, 6);
- Screen.ScrPutString(' =');
- ScreenNum.WriteInt(i, 15);
- Screen.ScrWriteLn();
- END;
- FOR ii := 1 TO 3 DO
- Screen.ScrPutString('Eingabe Longint-Zahl : ');
- InputNum.ReadLong(l, 12);
- Screen.ScrPutString(' =');
- ScreenNum.WriteLong(l, 15);
- Screen.ScrWriteLn();
- END;
- FOR ii := 1 TO 3 DO
- ScrRNRep := upper;
- Screen.ScrPutString('Eingabe Real-Zahl : ');
- InputNum.ReadReal(r, 9, 3);
- Screen.ScrWriteLn();
- ScrRNRep := lower;
- Screen.ScrPutString(' =');
- ScreenNum.WriteReal(r, 12, 2);
- Screen.ScrPutString(' gerundet auf 0.05 =');
- ScreenNum.WriteReal(r, 12, 2);
- Screen.ScrWriteLn();
- r := 0.0;
- END;
- END InputDemo.