Auf ButtonClick warten

Hi, ich benutze den Borland c++ Builder 6.0.

Ich möchte gern eine Schleife bauen, die erst wieder weiter zählt wenn ich einen bestimmten Button gedrückt habe.

zb.

for (int i=0 ; iCaption = i;
//auf ButtonClick warten
}

Kann mir da jemand weiterhelfen??

Danke schonmal
MfG

Hi flauschy,

eine Möglichkeit wäre folgende

\_\_fastcall TForm1::TForm1(TComponent\* Owner)
 : TForm(Owner)
{
 ButtonGedrueckt = false;
}
//---------------------------------------------------------------------------


void \_\_fastcall TForm1::Button1Click(TObject \*Sender)
{
 for (int i = 0; i Caption = IntToStr(i);
 Application-&gt:stuck\_out\_tongue\_winking\_eye:rocessMessages();
 if (ButtonGedrueckt)
 break;
 }
 ShowMessage("Button wurde gedrückt");
}
//---------------------------------------------------------------------------
void \_\_fastcall TForm1::Button2Click(TObject \*Sender)
{
 ButtonGedrueckt = true;
}
//---------------------------------------------------------------------------

Bein Start des Programms wird die Variable ButtonGedrueckt auf false gesetzt, die muss natürlich in der Header-Datei deklariert werden.
Button 1 startet die for-Schleife. Button2 setzt die Variable ButtonGedrückt auf true womit die Schleife beendet wird. Bei deiner Schleifenbedingung i

Danke für deine Antwort, aber so meint ich das gar net.
Ich wollte nicht das die Schleife beendet wird, sondern das sie erst weiter läuft wenn ich den Button drücke.

Sprich bei meinem Bsp.:

Label->Caption = 1
->wartet bis Button gedrückt wird
Label->Caption = 2
->wartet bis Button gedrückt wird
Label->Caption = 3

usw…

Ich will das die Schleife erst dann wieder weiter zählt bis ich den Button drücke.

Hallo,
dann brauchst du keine Schleife - du zählst einfach um 1 hoch, wenn der Button gedrückt wird (In der Eventroutine zum Button).

Gruss Reinhard

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Ja ich weis, für dieses Bsp würde das gehen, aber mal mein Problem:

Ich hab eine Log-Datei (die wird ja immer größer…) und da sind verschiedene Events drin protokolliert.
Die Schleife soll die Log-Datei nach bestimmten Strings suchen, die die einzelnen Events voneinander trennt. Dann soll dieses eine Event in einem Memofeld angezeigt werden und wenn ich dann auf Ok-Button drücke, zeigt er mir den nächsten Event an.

Deswegen wollte ich ja das die Schleife solange angehalten wird bis ich den Ok-Button getrückt habe…
Es funktioniert alles, halt bis auf dieses kleine Detail. Ich hoffe doch ihr könnt mir helfen. ^^

Dann deklariere dir eine Variable die du selber inkrementierst pro Durchlauf zB als privates Feld im Fensterobjekt und benutze ein while-Schleife in einer separaten Funktion die solange arbeitet bis das Vorkommen des Strings oder das Dateiende erreicht ist. Wenn der Button gedrückt wird, dann rufst du wieder die Funktion auf, die dann ab der Zeile weiterarbeitet die in deinem privaten Feld gespeichert ist.

Gruß Michi

Oki, das werd ich nachher gleich ma ausprobieren. :smiley:

THX