tw8148.pp 571 B

12345678910111213141516171819202122232425262728293031
  1. program ValVsArrayOfChar;
  2. {$IFDEF FPC}
  3. {$mode delphi}
  4. {$ENDIF}
  5. procedure test(a: ansistring);
  6. begin
  7. end;
  8. var
  9. Code : Integer;
  10. D : Double;
  11. s : Array[byte] of Char;
  12. s2 : Array[0..100] of Char;
  13. begin
  14. s := '123';
  15. s2 := '123';
  16. test(s);
  17. Val(s, D, Code); // compiles only in delphi
  18. if (abs(d-123.0) > 0.00001) then
  19. halt(1);
  20. Val(PChar(@s), D, Code); // compiles in both delphi and FPC
  21. if (abs(d-123.0) > 0.00001) then
  22. halt(1);
  23. Val(s2, D, Code); // compiles only in delphi
  24. if (abs(d-123.0) > 0.00001) then
  25. halt(1);
  26. writeln('ok');
  27. end.