unit Rund2;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
TKreis =
class
private
x, y, Durchm: Integer;
public
constructor Create (xx,yy,dd: Integer);
procedure Erscheinen;
procedure Bewegen;
procedure Verschwinden;
end;
TForm1 =
class(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
end;
var
Form1: TForm1;
Kreis: TKreis;
implementation
{$R *.DFM}
constructor TKreis.Create (xx,yy,dd: Integer);
begin
x := xx; y := yy; Durchm := dd;
end;
procedure TKreis.Erscheinen;
begin
Form1.Canvas.Ellipse (x, y, x+Durchm, y+Durchm);
end;
procedure TKreis.Bewegen;
var i: Integer; Quelle, Ziel: TRect;
begin
for i := x-5
to Form1.ClientWidth-Durchm-x-5
do
begin
//Kopieren einer Figur an einen anderen Platz
Quelle := Rect(i, y-5, i+Durchm+5, y+Durchm+5);
Ziel := Rect(i+1, y-5, i+Durchm+6, y+Durchm+5);
Form1.Canvas.CopyRect(Ziel, Form1.Canvas, Quelle);
sleep (10);
//Pause
end;
end;
procedure TKreis.Verschwinden;
begin
Form1.Refresh;
//Form1 erneuern
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Kreis := TKreis.Create (30,30,180);
Canvas.Brush.Color := clWhite;
// ansonsten Grau
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Kreis.Erscheinen;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Kreis.Bewegen;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
Kreis.Verschwinden;
end;
end.