PROGRAM ReadStufDemo; { Description: Demonstrates the fault-tolerant routines that accept strings, integers and reals fromthe user. Author: Don Taylor Date: 8/06/86 Last revised: 8/07/86 Application: All Systems Published in: TUG Lines - Turbo User Group, PO Group Box 1510, Poulsbo, WA 98370 } {$I READSTUF.INC} VAR r : REAL; c : CharSet; s : Str255; i1,i2 : Integer; ReadOK : BOOLEAN; {$I READSTR.PRC} {$I READINT.PRC} {$I READREAL.PRC} BEGIN {ReadStufDemo} ClrScr; WRITELN('Data Entry Demonstration'); GOTOXY(1,5); LowVideo; Writeln('DATA ENTRY ----------------------------------'); { Enter a string } c := ['A'..'Z', 'a'..'z', ' ', '.']; s := ''; GOTOXY(1,8); LowVideo; Write('Enter an integer: '); ReadInt(19,10,10,i1,ReadOK); GOTOXY(35,10); If ReadOK THEN WRITE('Valid integer!') ELSE WRITE('Not a valid integer!'); { Enter a real } r := 10000.789; GOTOXY(1,12); LowVideo; WRITE('Enter a real value: '); Readreal(21,12,12,3,r,ReadOK); GOTOXY(35,12); IF ReadOK THEN WRITE('Valid real number!') ELSE WRITE('Not a valid real number!'); { Enter an integer in a specified range } i2 := 0; GOTOXY(1,14); LowVideo; Write('Enter a number from 1 to 10: '); REPEAT ReadInt(30,14,5,i2,ReadOK); ReadOK := ReadOK and (i2 In [1..10]); IF NOT ReadOK THEN WRITE(^G) UNTIL ReadOK; { Display results } GOTOXY(1,17); LowVideo; WRITELN('RESULTS ------------------------------------'); WRITELN; NormVideo; WRITELN('String entered: "', s, '"'); WRITELN('First integer: ',i1:10); WRITELN('Second integer: ',i2:10); WRITELN('Read number: ',r:2:3); END. {ReadStufDemo}