| Autor |
Beitrag |
Dude566
      
Beiträge: 1592
Erhaltene Danke: 79
W8, W7 (Chrome, FF, IE)
Delphi XE2 Pro, Eclipse Juno, VS2012
|
Verfasst: Do 19.02.09 17:26
Also wir haben die Augabe bekommen Rechtecke, Kreise und Dreiecke in einer PaintBox mit jedem Schritt zu verkleinern, und sie dann in die PaintBox zeichnen.
Das ganze sollen wir für jede Form einmal Rekursiv und einmal Iterativ machen.
Das Rekursive funktioniert auch, nur wenn beim Iterativen passiert etwas wirklich komisches.
Schaut es euch selber an, ich habe das fertige Programm im Anhang.
PS: Die Maße der PB sind 500x500.
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31:
| procedure TForm1.recrek; begin if oben < 250 then begin PaintBox1.Canvas.Rectangle (oben,oben,unten,unten); recrek(oben+2,unten-2); end;
procedure TForm1.Button1Click(Sender: TObject); begin PaintBox1.Refresh; recrek(0,500); end;
procedure TForm1.Button2Click(Sender: TObject); var i : integer; oben, unten : integer; begin oben := 10; unten := 390; for i := 1 to 245 do begin PaintBox1.Canvas.Rectangle (oben,oben,unten,unten); oben := oben +2; unten := unten -2; end; end; |
Gruß Dude566
Einloggen, um Attachments anzusehen!
_________________ Es gibt 10 Gruppen von Menschen: diejenigen, die das Binärsystem verstehen, und die anderen.
|
|
Gausi
      
Beiträge: 8554
Erhaltene Danke: 481
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: Do 19.02.09 17:31
Überlege mal, ob evtl. die Werte für oben und unten in deiner for-Schleife negativ werden können, bzw. ob oben immer kleiner als unten ist.  Du übermalst viele Rechtecke einfach wieder, weil deine Schleife zu lange läuft.
_________________ We are, we were and will not be.
|
|
Dude566 
      
Beiträge: 1592
Erhaltene Danke: 79
W8, W7 (Chrome, FF, IE)
Delphi XE2 Pro, Eclipse Juno, VS2012
|
Verfasst: Do 19.02.09 17:40
Ok ich habe jetzt durch probieren herausgefunden, dass die Schleife nur bis 125 gehen soll.
Aber warum denn, 500 in 2er Schritten ist doch 250? 
_________________ Es gibt 10 Gruppen von Menschen: diejenigen, die das Binärsystem verstehen, und die anderen.
|
|
nagel
      
Beiträge: 708
Win7, Ubuntu 10.10
|
Verfasst: Do 19.02.09 17:43
Du machst bei jeder Iteration zwei 2er-Schritte, einmal oben und einmal unten.
|
|
Gausi
      
Beiträge: 8554
Erhaltene Danke: 481
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: Do 19.02.09 17:45
Schau mal, wie du oben und unten initialisierst...die 390 stimmt da auch nicht, oder?
_________________ We are, we were and will not be.
|
|
Dude566 
      
Beiträge: 1592
Erhaltene Danke: 79
W8, W7 (Chrome, FF, IE)
Delphi XE2 Pro, Eclipse Juno, VS2012
|
Verfasst: Do 19.02.09 17:51
_________________ Es gibt 10 Gruppen von Menschen: diejenigen, die das Binärsystem verstehen, und die anderen.
|
|
|