unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, ExtCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Image1: TImage;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  abstand: integer;
implementation

{$R *.DFM}

procedure pause(zeit:integer);
var anfang: integer;
begin
anfang:= gettickcount;
while anfang + zeit>gettickcount do
application.processmessages;
end;

procedure TForm1.FormCreate(Sender: TObject);

begin
abstand:=0;
end;

procedure TForm1.Button1Click(Sender: TObject);
var m:integer;
begin
form1.doublebuffered:=true;//verringert das Flackern der Grafik
 for abstand:=30 downto 1 do begin //die äußere Schleife reduziert immer mehr
     m:=0;                         // die Abstände der Zielpunkte
     image1.picture:=nil;
     with image1.canvas do begin
       while penpos.x < image1.width do begin // die innere Schleife zeichnet die
         m:=m+abstand;;                       // Linien (wie in Fächer1)
         lineto(300,500);
         moveto(0+m,0);
       end;
  pause(100);
  end;
 end;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
close;
end;



end.
