bug0185.pp 786 B

12345678910111213141516171819202122232425262728293031
  1. Program bug0185;
  2. {shows some bugs with rangechecks}
  3. var s: String;
  4. i: integer;
  5. code: word;
  6. e: 0..10;
  7. Begin
  8. {$R-}
  9. s := '$fffff';
  10. val(s, i, code); {no range check error may occur here}
  11. Writeln('Integer($fffff) = ',i);
  12. Write('Enter the value 20 (should not give a rangecheck error): ');
  13. Readln(e);
  14. {$R+}
  15. s := '$ffff';
  16. val(s, i, code); {no range check error may occur here}
  17. Writeln('integer($ffff) = ', i,'(should not give range check error)');
  18. Writeln('Enter value from 0-10 to test Val rangecheck, another for subrange rangecheck: ');
  19. Readln(e);
  20. Writeln('If you entered a value different from 0-10, subrange range checks don''t work!');
  21. s := '65535';
  22. val(s, i, code); {must give a range check error}
  23. Writeln('Val range check failed!');
  24. End.