fork download
  1. {$MODE OBJFPC}{$H+}
  2.  
  3. Type PMyClass = ^TMyClass;
  4. TMyClass = Class
  5. Private
  6. SomeInt: Integer;
  7.  
  8. Procedure PrivateProc;
  9. Public
  10. SomeString: String;
  11.  
  12. Function PublicFunc(IntParam: Integer): String;
  13.  
  14. Property getSomeInt: Integer read SomeInt;
  15. Property setSomeInt: Integer write SomeInt;
  16. End;
  17.  
  18. Procedure TMyClass.PrivateProc;
  19. Begin
  20. SomeInt := 1024;
  21. End;
  22.  
  23. Function TMyClass.PublicFunc(IntParam: Integer): String;
  24. Begin
  25. SomeInt := IntParam;
  26. Exit(SomeString);
  27. End;
  28.  
  29. Var Pnt: PMyClass;
  30. Begin
  31. New(Pnt);
  32.  
  33. With Pnt^ do
  34. Begin
  35. SomeString := 'Hello World!';
  36.  
  37. PrivateProc;
  38. Writeln('getSomeInt() = ', getSomeInt);
  39. Writeln('PublicFunc(50) = ', PublicFunc(50));
  40. Writeln('getSomeInt() = ', getSomeInt);
  41. End;
  42. End.
Success #stdin #stdout 0.02s 288KB
stdin
Standard input is empty
stdout
getSomeInt() = 1024
PublicFunc(50) = Hello World!
getSomeInt() = 50