Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Apr 28th, 2012  |  syntax: None  |  size: 1.97 KB  |  hits: 17  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. unit mScheibe;
  2.  
  3. interface
  4. {**********************Module****************************}
  5. uses Forms, Graphics, ExtCtrls;
  6. {**********************Klassendeklaration****************}
  7. type Tscheibe = class(Tobject)
  8. {**********************Private-Deklaration***************}
  9. private zxM,zyM,zrad: integer;
  10. kFenster: TForm;
  11. tiTimer: TTimer;
  12. procedure Zeichnen; virtual;
  13. procedure Bewegen(sender: TObject);virtual;
  14. procedure Loeschen;virtual;
  15. {**************************Public-Deklaration*********************************}
  16. public
  17.   constructor Create(xM,yM, Rad: Integer; fenster: TForm); virtual;
  18.   destructor destroy; override;
  19.  procedure steigen; virtual;
  20.  function GibYpos:integer;
  21.  function Xpos:integer;
  22.  function radius:integer;
  23.  procedure anhalten;virtual;
  24.  
  25.  
  26.  
  27.  
  28. end;
  29.  
  30.  
  31. implementation
  32.  
  33. constructor tscheibe.Create(xM: Integer; yM: Integer; Rad: Integer; fenster: TForm);
  34. begin
  35.  inherited Create;
  36.  zxM:= xM;
  37.  zyM:= yM;
  38.  zRad:= rad;
  39.  kFenster:= fenster;
  40.  TiTimer:=TTimer.Create(kfenster);
  41.  TiTimer.Enabled:=false;
  42.  Titimer.Interval:= 20;
  43.  TiTimer.OnTimer:=bewegen;
  44. end;
  45.  
  46. procedure tscheibe.zeichnen;
  47. begin
  48.   with kfenster.Canvas do begin
  49.     pen.Color:= clblack;
  50.     ellipse(zxm+zrad,zym-zrad,zxm-zrad,zym+zrad);
  51.   end;
  52. end;
  53.  
  54. procedure tscheibe.Loeschen;
  55. begin
  56. with kfenster.Canvas do begin
  57.   pen.Color:=clbtnface;
  58.   ellipse(zxm+zrad,zym-zrad,zxm-zrad,zym+zrad);
  59. end;
  60. end;
  61. destructor tscheibe.destroy;
  62. begin
  63.  inherited destroy;
  64.  TiTimer.enabled:=false;
  65.  loeschen;
  66. end;
  67.  
  68. procedure tscheibe.Bewegen(Sender: Tobject);
  69. begin
  70.  loeschen;
  71.  if ZyM+zrad>0 then
  72.   zyM:=Zym-2 else
  73.   ZyM:= zym+kfenster.height+zrad;
  74.   zeichnen;
  75.  
  76. end;
  77.  
  78. procedure tscheibe.steigen;
  79. begin
  80.   TiTimer.Enabled:=true;
  81. end;
  82.  
  83. function TScheibe.GibYpos;
  84. begin
  85.   GibYpos:=zyM;
  86. end;
  87.  
  88. function Tscheibe.Xpos;
  89. begin
  90.   Xpos:=zxm;
  91. end;
  92.  
  93. function tscheibe.radius;
  94. begin
  95.   radius:=zrad;
  96. end;
  97.  
  98. procedure tscheibe.anhalten;
  99. begin
  100.   TiTimer.Enabled:=false;
  101. end;
  102.  
  103.  
  104.  
  105.  
  106. end.