taddr2.pp 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. {****************************************************************}
  2. { CODE GENERATOR TEST PROGRAM }
  3. {****************************************************************}
  4. { NODE TESTED : secondaddr() }
  5. {****************************************************************}
  6. { PRE-REQUISITES: secondload() }
  7. { secondassign() }
  8. { secondcalln() }
  9. {****************************************************************}
  10. { DEFINES: }
  11. {****************************************************************}
  12. { REMARKS: }
  13. {****************************************************************}
  14. program taddr;
  15. {$ifdef fpc}
  16. {$mode tp}
  17. {$endif}
  18. procedure testprocvar;
  19. begin
  20. WriteLn('Hello world!');
  21. end;
  22. type
  23. tmyobj = object
  24. procedure writeit;
  25. end;
  26. procedure tmyobj.writeit;
  27. begin
  28. WriteLn('Salutations!');
  29. end;
  30. const
  31. chararray : array[0..7] of char =
  32. ('A',
  33. 'B',
  34. 'C',
  35. 'D',
  36. 'E',
  37. 'F',
  38. 'G',
  39. #0
  40. );
  41. var
  42. procptr: procedure;
  43. pcharptr : pchar;
  44. plongint : ^longint;
  45. long: longint;
  46. ptr: pointer;
  47. begin
  48. { Test procedure variable }
  49. procptr:=testprocvar;
  50. Write('Value should be ''Hello world!''...');
  51. procptr;
  52. { Test normal variable }
  53. pcharptr := @chararray;
  54. Inc(pcharptr,2);
  55. Write('Value should be ''CDEFG''...');
  56. WriteLn(pcharptr);
  57. long := $F0F0;
  58. plongint := @long;
  59. Write('Value should be 61680...');
  60. WriteLn(plongint^);
  61. { Test method pointers }
  62. { PROCVARLOAD = TRUE testing }
  63. { Write('Value should be ''Salutations!''...');}
  64. ptr:[email protected];
  65. { ptr;}
  66. end.
  67. {
  68. $Log$
  69. Revision 1.2 2002-09-07 15:40:49 peter
  70. * old logs removed and tabs fixed
  71. Revision 1.1 2002/04/22 16:33:40 peter
  72. * splitted in 2 files, one fpc mode and other tp mode
  73. }