convresults_prog.mod 1.1 KB

1234567891011121314151617181920212223242526272829
  1. MODULE ConvResultsProg;
  2. (* ISO-style ConvResults status codes from Conversions. Exit 127. *)
  3. IMPORT Conversions;
  4. FROM Conversions IMPORT strAllRight, strOutOfRange, strWrongFormat,
  5. strEmpty;
  6. VAR ExitCode : INTEGER;
  7. VAR n : INTEGER;
  8. VAR c : CARDINAL;
  9. VAR x : REAL;
  10. VAR r : Conversions.ConvResults;
  11. BEGIN
  12. r := Conversions.StrToInt("42", n);
  13. IF (r = strAllRight) AND (n = 42) THEN ExitCode := ExitCode + 1 END;
  14. r := Conversions.StrToInt("-7", n);
  15. IF (r = strAllRight) AND (n = -7) THEN ExitCode := ExitCode + 2 END;
  16. r := Conversions.StrToInt("4x", n);
  17. IF r = strWrongFormat THEN ExitCode := ExitCode + 4 END;
  18. r := Conversions.StrToInt("", n);
  19. IF r = strEmpty THEN ExitCode := ExitCode + 8 END;
  20. r := Conversions.StrToInt("99999999999", n);
  21. IF r = strOutOfRange THEN ExitCode := ExitCode + 16 END;
  22. IF Conversions.StrToCard("99", c) = strAllRight THEN
  23. IF c = 99 THEN ExitCode := ExitCode + 32 END
  24. END;
  25. IF Conversions.StrToReal("3.5", x) = strAllRight THEN
  26. IF x = 3.5 THEN ExitCode := ExitCode + 64 END
  27. END
  28. END ConvResultsProg.