Hallo,
ss396 hat folgendes geschrieben : |
Delphi-Quelltext 1: 2: 3: 4: 5:
| while 10 <= ImBild.Width-25 do begin Rectangle (10,240,10+5,240-20); Rectangle (10+4,240-3,10+11,240-7); Rectangle (10+4,240-13,10+11,240-17); end |
|
In deiner while-Schleife fragst du ab, ob 10 kleiner als die Bildbreite ist. Offensichtlich ändert sich in der Schleife aber nichts, d.h. die while-Bedingung wird nie falsch.
Die Prozedur und das Programm bleiben damit hängen.
Um genauer auf dein Problem zu antworten, müsstest Du erklären, wie die Straße und der Zaun aussehen sollen.
Grüße
Mathematiker
Nachtrag: Nach deiner PN möchtest Du die Latten des Zauns darstellen.
Nehmen wir an, es sollen Latten der Pixelbreite 5 und mit dem Abstand 4 Pixel zwischen den Latten sein, so wählst du eine integer-Variable, z.B. i, und lässt diese in der Schleife um 9 = 5+4 Pixel wachsen, d.h.
Delphi-Quelltext
1: 2: 3: 4: 5:
| i:=10; while i <= ImBild.Width-25 do begin Rectangle (i,240,i+5,220); i:=i+9; end |
Der Rest ergibt sich analog.