![]() |
Wiederholschleife will nicht
Hallo!
Ich will eine Pyramide machen, die aus vielen kleinen Pyramiden besteht machen, also zeichnen. Jetzt habe ich die folgende Idee gehabt:
Delphi-Quellcode:
Doch es will einfach nicht. Kann es sein, dass die Pyramiden immer an der gleichen Stelle gezeichnet werden? Oder einfach die Schleife nicht geht? :coder2:
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. |
Re: Wiederholschleife will nicht
Hallo,
Deine Abbruchbedingung ist A >= 0. Das ist aber natürlich immer der Fall. A = 0 ist wohl richtig. Gruß xaromz |
Re: Wiederholschleife will nicht
bin ich blind, oder wo initialisierst du a ?
achja und gewöhne dir bitte an auch die Schleifen einzurücken, sonst kann das leicht unübersichtlich werden ;) Edit: ahh du übergibst das ganze als Parameter. Wieso ist der im implementation Teil nicht nochmal mit angegeben o.O? |
Re: Wiederholschleife will nicht
Delphi-Quellcode:
???
procedure TForm1.pyramide(a: Integer);
|
Re: Wiederholschleife will nicht
Zitat:
Zitat:
@Noobinator: Ist AFAIK nicht notwendig, solange es nur eine Methode mit diesem Namen gibt. Ich gebe aber auch aus Gründen der Nachvollziehbarkeit immer die volle Signatur an... |
Re: Wiederholschleife will nicht
Dankeschön :spin2:
Funktioniert jetzt richtig :) Echt ein super Forum hier. Auch für einen Anfänger immer da. Ich gib mal einen für euch aus. Prost :cheers: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:27 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz