Schleife per Button unterbrechen?



  • Hallo

    ich habe folgenden Code

    int i = 1;
    do{
       setiDurchgang(i);
       ediaktDurchgang->Text = ((AnsiString) getiiDurchgang()) +
                                  " von " + ediDurchgaenge->Text;
       ediaktDurchgang->Update();
       cbxAbfrage();  //Speichern welche KabelNr erfasst werden müssen
    
       if( i < ediDurchgaenge->Text.ToInt())
        {
         NaechsteMessungin();
        }
             ++i;
      }while(0 == bbnStop->Tag && i <= ediDurchgaenge->Text.ToInt());
    

    Das ganze wird durch einen anderen Button eingeleitet.
    Ich möchte nun mit dem "bbnStop" die schleife unterbrechen.

    Hat jemand einen Tip??
    Gruss Mike

    [ Dieser Beitrag wurde am 04.07.2002 um 16:50 Uhr von Jansen editiert. ]



  • Bei Deinem Stop Button könntest Du eine globale Variable setzen z.Bsp:

    // beim Stop Button
    BreakIt = true;
    // in Deiner Schleife
    do {
       // ....
    }
    while ( Bedingung1 && !BreakIt );
    

    mfg
    Dis



  • aber wenn der durch ne Schleife geht macht der doch nix andres mehr.... also auch nicht variablen durch ein button setzen weil man das nicht mehr drücken kann/das Programm sich quasi aufgehangen hat

    also ich würd nen timer machen wo du dann reinschreibst
    if(!breakit)
    {
    blabla
    }
    und dann beim button halt
    breakit = true;



  • einfach ein Application->ProcessMessages() in die schleife, damit das programm auf eingaben reagieren kann, dann klappts auch mit dem nachbarn, ähm... button. 😉



  • Danke an alle und vorallem an "Sunday".
    Hat prima funktioniert.

    CU Mike


Anmelden zum Antworten