Einzelnen Beitrag anzeigen

Benutzerbild von spox
spox

Registriert seit: 23. Sep 2007
47 Beiträge
 
Delphi 7 Personal
 
#1

Wiederholschleife will nicht

  Alt 23. Okt 2007, 11:57
Hallo!
Ich will eine Pyramide machen, die aus vielen kleinen Pyramiden besteht machen, also zeichnen. Jetzt habe ich die folgende Idee gehabt:

Delphi-Quellcode:
unit dreieckU;

interface

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

type
  TForm1 = class(TForm)
    Image1: TImage;
    SpeedButton1: TSpeedButton;
    procedure dreieck ;
    procedure pyramide (a:integer);
    procedure SpeedButton1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.dreieck;
begin
 with Image1.Canvas do
 begin
  lineTo (penpos.X+10,penpos.Y-10);
  lineTo (penpos.X+10,penpos.Y+10);
  lineTo (penpos.X-20,penpos.Y);
 end;
end;

procedure TForm1.pyramide;
var b:integer;
begin
Image1.Canvas.moveTo (0,Image1.Height-1);
repeat
begin
 for b:=1 to a do
 begin
  dreieck;
  with Image1.Canvas do
   moveTo (penpos.X+20,penpos.Y)
 end;
 with Image1.Canvas do
  moveTo ((penpos.X-round(a*20))+10,penpos.Y-10);
 a:= a-1 ;
end;
until
a>=0
end;

procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
pyramide (5)
end;

end.
Doch es will einfach nicht. Kann es sein, dass die Pyramiden immer an der gleichen Stelle gezeichnet werden? Oder einfach die Schleife nicht geht?
  Mit Zitat antworten Zitat