AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Wiederholschleife will nicht

Ein Thema von spox · begonnen am 23. Okt 2007 · letzter Beitrag vom 23. Okt 2007
Antwort Antwort
Benutzerbild von spox
spox

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

Wiederholschleife will nicht

  Alt 23. Okt 2007, 12: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
xaromz

Registriert seit: 18. Mär 2005
1.682 Beiträge
 
Delphi 2006 Enterprise
 
#2

Re: Wiederholschleife will nicht

  Alt 23. Okt 2007, 13:03
Hallo,

Deine Abbruchbedingung ist A >= 0. Das ist aber natürlich immer der Fall. A = 0 ist wohl richtig.

Gruß
xaromz
I am a leaf on the wind - watch how I soar
  Mit Zitat antworten Zitat
Noobinator

Registriert seit: 9. Mai 2006
147 Beiträge
 
Delphi 7 Personal
 
#3

Re: Wiederholschleife will nicht

  Alt 23. Okt 2007, 13:13
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?
  Mit Zitat antworten Zitat
Benutzerbild von nachti1505
nachti1505

Registriert seit: 7. Apr 2007
188 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Wiederholschleife will nicht

  Alt 23. Okt 2007, 13:15
procedure TForm1.pyramide(a: Integer); ???
  Mit Zitat antworten Zitat
Benutzerbild von leddl
leddl

Registriert seit: 13. Okt 2003
Ort: Künzelsau
1.613 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Wiederholschleife will nicht

  Alt 23. Okt 2007, 13:23
Zitat von nachti1505:
procedure TForm1.pyramide(a: Integer); ???
Zitat von Noobinator:
Wieso ist der im implementation Teil nicht nochmal mit angegeben o.O?


@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...
Axel Sefranek
A programmer started to cuss, cause getting to sleep was a fuss.
As he lay there in bed, looping round in his head
was: while(!asleep()) ++sheep;
  Mit Zitat antworten Zitat
Benutzerbild von spox
spox

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

Re: Wiederholschleife will nicht

  Alt 23. Okt 2007, 14:35
Dankeschön

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
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:45 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz