PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : schleifen problem



DeadManWalkin
05.10.2008, 02:58
hab die sufu benutzt aber nichts gefunden was mir helfen könnte ...

also, ich habe eine oberflächer, ein TImage, ein TButton und TTimer.

ich möchte auf dem Image1 eine ellipse platzieren. Mit dem TTimer möchte ich das nach einer sekunde, das die ellipse um sagen wir 10 pixel nach rechts versetzt wird, stößt diese gegen das ende, soll sie wieder zurück wandern. Praktisch ein lade balken der zeigt das die anwendung noch arbeitet ...

canvas erstellen ist einfach, ellipse auch. nur habe ich das problem:

ich möchte in den timer eine if schleife einbauen, so gesehn eine endlos schleife.

Button1


int w;
int x;
int y;
int z;

w = 0; //Abstand zu Y
x = 0; //Abstand zu Z
y = 25; //Breite
z = 25; //Höhe

Image1->Canvas->Rectangle(0,0,425,25);
Image1->Canvas->Ellipse(w,x,y,z);


Jetzt der code vom Timer


int w;
int x;
int y;
int z;

w = 0; //Abstand zu Y
x = 0; //Abstand zu Z
y = 20; //Breite
z = 20; //Höhe

w = 5; //Abstand zu Y

if (w < 10)
{
w + 10;
}
return ;


bei der schleife bleibe ich hängen =(
schleifen sind meine totale schwäche und hoffe das mir das einer richten kann bzw genau erklären was falsch war!

#danke!

noctem
05.10.2008, 20:13
int w;
int x;
int y;
int z;

w = 0; //Abstand zu Y
x = 0; //Abstand zu Z
y = 20; //Breite
z = 20; //Höhe

w = 5; //Abstand zu Y
Falls das innerhalb der Schleife ist, dann ist das schon der Fehler. So wird immer zum Beginn des Schleifendurchlaufs alles auf Standart gesetzt. Das muss vor der Schleife kommen.

Und die Zeile

w + 10;
ist totaler Schwachsinn und sollte gar nicht compiliert werden können. Du meinst sicherlich w+=10; oder w = w + 10;.

Tomo
05.10.2008, 20:40
schleifen sind meine totale schwäche

Nun, zum Glück ist eine if-Abfrage keine Schleife ^^

DeadManWalkin
09.10.2008, 23:52
ahh ja hab da blöderweise was verdreht und das war mein fehler^^

danke