tw1908.pp 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. {$ifdef fpc}{$mode objfpc}{$endif}
  2. uses SysUtils;
  3. {$R+}
  4. procedure x(arr : array of byte);
  5. begin
  6. try
  7. if arr[12] <> $55 then
  8. WriteLn('Error! No Rangecheck error detected');
  9. Halt(1);
  10. except
  11. on e : exception do
  12. begin
  13. Writeln(e.message);
  14. end;
  15. end;
  16. end;
  17. procedure varx(arr : array of byte);
  18. var
  19. i : byte;
  20. begin
  21. try
  22. i:=12;
  23. if arr[i] <> $55 then
  24. WriteLn('Error! No Rangecheck error detected');
  25. Halt(1);
  26. except
  27. on e : exception do
  28. begin
  29. Writeln(e.message);
  30. end;
  31. end;
  32. end;
  33. procedure x2(arr : array of byte);
  34. begin
  35. if arr[12] <> $55 then
  36. begin
  37. WriteLn('Error! No Rangecheck error detected');
  38. Halt(1);
  39. end;
  40. end;
  41. procedure varx2(arr : array of byte);
  42. var
  43. i : byte;
  44. begin
  45. i:=12;
  46. if arr[12] <> $55 then
  47. begin
  48. WriteLn('Error! No Rangecheck error detected');
  49. Halt(1);
  50. end;
  51. end;
  52. var
  53. arr : array[1..12] of byte;
  54. arr2 : array[1..13] of byte;
  55. arr3 : array[-1..11] of byte;
  56. begin
  57. arr[12] := $55;
  58. x(arr);
  59. varx(arr);
  60. arr2[13]:=$55;
  61. x2(arr2);
  62. varx2(arr2);
  63. arr3[11]:=$55;
  64. x2(arr3);
  65. varx2(arr3);
  66. end.