tpara1.pp 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. { %VERSION=1.1 }
  2. {$ifdef fpc}
  3. {$mode objfpc}
  4. {$endif}
  5. uses
  6. erroru;
  7. type
  8. tr1 = record
  9. l1,l2 : cardinal;
  10. end;
  11. procedure p1(out b : byte);
  12. begin
  13. b:=$aa;
  14. end;
  15. procedure p2(out w : word);
  16. begin
  17. w:=$aaaa;
  18. end;
  19. procedure p3(out d : cardinal);
  20. begin
  21. d:=$aaaaaaaa;
  22. end;
  23. procedure p4(out r : tr1);
  24. begin
  25. r.l1:=$aaaaaaaa;
  26. r.l2:=$aaaaaaaa;
  27. end;
  28. procedure p5(out a : ansistring);
  29. begin
  30. if a<>'' then
  31. do_error(1000);
  32. a:='Now it''s another ansistring';
  33. end;
  34. var
  35. b : byte;
  36. w : word;
  37. d : cardinal;
  38. r1 : tr1;
  39. a : ansistring;
  40. begin
  41. b:=$ff;
  42. w:=$ffff;
  43. d:=$ffffffff;
  44. a:='An ansistring';
  45. r1.l1:=$ffffffff;
  46. r1.l2:=$ffffffff;
  47. p1(b);
  48. if b<>$aa then
  49. do_error(1100);
  50. p2(w);
  51. if w<>$aaaa then
  52. do_error(1101);
  53. p3(d);
  54. if d<>$aaaaaaaa then
  55. do_error(1102);
  56. p4(r1);
  57. if r1.l1<>$aaaaaaaa then
  58. do_error(1103);
  59. if r1.l2<>$aaaaaaaa then
  60. do_error(1104);
  61. p5(a);
  62. if a<>'Now it''s another ansistring' then
  63. do_error(1105);
  64. end.