Guest User

Untitled

a guest
Nov 27th, 2020
39
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 0.92 KB | None | 0 0
  1. program Project26;
  2.  
  3. {$APPTYPE CONSOLE}
  4.  
  5. {$R *.res}
  6.  
  7. uses
  8.   System.SysUtils;
  9.  
  10. type
  11.   TSomeData = record {class}
  12.     X, Y, Z: Integer;
  13.   end;
  14.  
  15.   TSomeWorker = class
  16.   private
  17.     FData: TSomeData;
  18.   public
  19.     constructor Create(const AData: TSomeData);
  20.  
  21.     procedure Calculate;
  22.   end;
  23.  
  24. { TSomeWorker }
  25.  
  26.  
  27. constructor TSomeWorker.Create(const AData: TSomeData);
  28. begin
  29.   FData := AData;
  30. end;
  31.  
  32. procedure TSomeWorker.Calculate;
  33. begin
  34.   FData.Z := FData.X + FData.Y;
  35. end;
  36.  
  37. procedure Main;
  38. var
  39.   LData: TSomeData;
  40.   LWorker: TSomeWorker;
  41. begin
  42.   {LData := TSomeData.Create;}
  43.   LData.X := 1;
  44.   LData.Y := 2;
  45.   LData.Z := 0;
  46.  
  47.   LWorker := TSomeWorker.Create(LData);
  48.   try
  49.     LWorker.Calculate;
  50.   finally
  51.     FreeAndNil(LWorker)
  52.   end;
  53.  
  54.   Writeln(LData.Z);
  55. end;
  56.  
  57. begin
  58.   try
  59.     Main;
  60.   except
  61.     on E: Exception do
  62.       Writeln(E.ClassName, ': ', E.Message);
  63.   end;
  64.   Readln;
  65. end.
  66.  
Advertisement
Add Comment
Please, Sign In to add comment