Autor Beitrag
Dude566
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 1592
Erhaltene Danke: 79

W8, W7 (Chrome, FF, IE)
Delphi XE2 Pro, Eclipse Juno, VS2012
BeitragVerfasst: 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.

ausblenden volle Höhe Delphi-Quelltext
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:
// Rechteck Rekursiv
procedure TForm1.recrek;
begin
     if oben < 250 then
        begin
        PaintBox1.Canvas.Rectangle (oben,oben,unten,unten);
        recrek(oben+2,unten-2);
        end;

// Rechteck Rekursiv
procedure TForm1.Button1Click(Sender: TObject);
begin
     PaintBox1.Refresh;
     recrek(0,500);
end;

// Rechteck Iterativ
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
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8554
Erhaltene Danke: 481

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 1592
Erhaltene Danke: 79

W8, W7 (Chrome, FF, IE)
Delphi XE2 Pro, Eclipse Juno, VS2012
BeitragVerfasst: 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? :nixweiss: :gruebel: :eyes:

_________________
Es gibt 10 Gruppen von Menschen: diejenigen, die das Binärsystem verstehen, und die anderen.
nagel
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 708

Win7, Ubuntu 10.10

BeitragVerfasst: Do 19.02.09 17:43 
Du machst bei jeder Iteration zwei 2er-Schritte, einmal oben und einmal unten.
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8554
Erhaltene Danke: 481

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 1592
Erhaltene Danke: 79

W8, W7 (Chrome, FF, IE)
Delphi XE2 Pro, Eclipse Juno, VS2012
BeitragVerfasst: Do 19.02.09 17:51 
user profile iconnagel hat folgendes geschrieben Zum zitierten Posting springen:
Du machst bei jeder Iteration zwei 2er-Schritte, einmal oben und einmal unten.


Achso ich gehe ja auch von beiden Richtungen. :autsch:



user profile iconGausi hat folgendes geschrieben Zum zitierten Posting springen:
Schau mal, wie du oben und unten initialisierst...die 390 stimmt da auch nicht, oder?


Das habe ich ja schon längst verändert, hatte ich nur aus Versehen hier mitgepostet, war noch von einer anderen PaintBox.

_________________
Es gibt 10 Gruppen von Menschen: diejenigen, die das Binärsystem verstehen, und die anderen.