home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / CPM / TURBOPAS / BULLETTP.LBR / READDEMO.PZS / READDEMO.PAS
Pascal/Delphi Source File  |  2000-06-30  |  2KB  |  71 lines

  1. PROGRAM ReadStufDemo;
  2. {
  3. Description:  Demonstrates the fault-tolerant routines that accept strings,
  4.               integers and reals fromthe user.
  5.  
  6. Author:       Don Taylor
  7. Date:         8/06/86
  8. Last revised: 8/07/86
  9. Application:  All Systems
  10. Published in: TUG Lines - Turbo User Group, PO Group Box 1510, Poulsbo, WA 98370
  11. }
  12. {$I READSTUF.INC}
  13.  
  14. VAR
  15.  r       : REAL;
  16.  c       : CharSet;
  17.  s       : Str255;
  18.  i1,i2   : Integer;
  19.  ReadOK  : BOOLEAN;
  20.  
  21. {$I READSTR.PRC}
  22. {$I READINT.PRC}
  23. {$I READREAL.PRC}
  24.  
  25. BEGIN  {ReadStufDemo}
  26.  ClrScr;
  27.  WRITELN('Data Entry Demonstration');
  28.  GOTOXY(1,5); LowVideo;
  29.  Writeln('DATA ENTRY ----------------------------------');
  30.  
  31. { Enter a string }
  32.  c := ['A'..'Z', 'a'..'z', ' ', '.'];
  33.  s := '';
  34.  GOTOXY(1,8); LowVideo;
  35.  Write('Enter an integer: ');
  36.  ReadInt(19,10,10,i1,ReadOK);
  37.  GOTOXY(35,10);
  38.  If ReadOK
  39.   THEN WRITE('Valid integer!')
  40.   ELSE WRITE('Not a valid integer!');
  41.  
  42. { Enter a real }
  43.  r := 10000.789;
  44.  GOTOXY(1,12); LowVideo;
  45.  WRITE('Enter a real value: ');
  46.  Readreal(21,12,12,3,r,ReadOK);
  47.  GOTOXY(35,12);
  48.  IF ReadOK
  49.   THEN WRITE('Valid real number!')
  50.   ELSE WRITE('Not a valid real number!');
  51.  
  52. { Enter an integer in a specified range }
  53.  i2 := 0;
  54.  GOTOXY(1,14); LowVideo;
  55.  Write('Enter a number from 1 to 10: ');
  56.  REPEAT
  57.   ReadInt(30,14,5,i2,ReadOK);
  58.   ReadOK := ReadOK and (i2 In [1..10]);
  59.   IF NOT ReadOK THEN WRITE(^G)
  60.  UNTIL ReadOK;
  61.  
  62. { Display results }
  63.  GOTOXY(1,17); LowVideo;
  64.  WRITELN('RESULTS ------------------------------------');
  65.  WRITELN; NormVideo;
  66.  WRITELN('String entered: "', s, '"');
  67.  WRITELN('First integer:  ',i1:10);
  68.  WRITELN('Second integer: ',i2:10);
  69.  WRITELN('Read number:    ',r:2:3);
  70. END.  {ReadStufDemo}
  71.