Delphi: Repeat...Until Button gedrückt wird?

...komplette Frage anzeigen

3 Antworten

Mach doch sowas wie.. In die Button.Click-prozedur schreibst du rein:

 button1.tag:=1; //oder so

und in der repeat schleife fragst du ab ob der tag nun 1 ist oder nicht.

until  button1.tag:=1;

ist vielleicht nicht gerade professionell .. :)

Wenn du eine hermkömmliche Anwendung schreibst (ohne Mutlithreading) wird das ganze nicht funktionieren, was meine Vorredner vorgeschlagen haben, da die Anwendung blockieren wird, bis die Berechnung abgeschlossen ist.

Um dies dennoch zu realisieren müsstest du in deiner Funktion ein

Application.ProcessMessages;

einfügen damit deine Anwendungsoberfläche nicht einfriert. Ein Abbruch könnte dann über das setzen einer globalen Variable über eine Taste ermöglicht werden. Die Variable selbst wird dann in deiner Schleife als Abbruchkriterium verwednet.

Nimm doch einen Timer und im OnClick-Ereignis des Buttons stellst du den Timer auf Enabled = False;

Was möchtest Du wissen?