![]() |
Programm unterbrechen (und weiterlaufen lassen)
Hallo, Delphi-Praktiker,
die Abarbeitung einer Schleife soll angehalten werden können (um in einem Memo etwas anzuzeigen) und dann auf ButtonClick wieder weiterlaufen. Mit Application.MessageBox z.B. kann man eine solche Unterbrechung erreichen. Frage: Geht das (anhalten / Memo anzeigen / BottonClick / an der Stelle weiterlaufen) auch über einen einzelnen Button (ohne MessageBox). (Das Programm soll nicht abgebrochen werden.) Beste Grüße Klaus-Peter |
Re: Programm unterbrechen (und weiterlaufen lassen)
Nicht sehr schön, nein. Aber was ginge wäre folgendes:
Delphi-Quellcode:
In einem anderen Button setzt du act auf True und schon läuft die Schleife wieder. Allerdings ist für sowas ein Thread ideal, den man einfach mit .Suspend schlagen legen und mit .Resume wieder wecken kann.
while nicht fertig do
begin if act then // deine sachen act := false; //schleife unterbrechen Delay(0); // aus der Codelib end; |
Re: Programm unterbrechen (und weiterlaufen lassen)
Es geht schon, unter Zuhilfenahme von Application.ProcessMessage uä.
Aber das wird nicht sehr schön werden. Könnte man dein Problem vlt. anders und besser lösen? Was willst du damit erreichen? |
Re: Programm unterbrechen (und weiterlaufen lassen)
Hallo, Dax:
Die Schleife "nichtFertig" läuft ja ständig durch. Wie ist das mit der belegten Rechenzeit ? Hallo, Deep-Sea: Eine Datei wird in einer Schleife satzweise gelesen, der verarbeitete Satz soll im Memo angezeigt werden (Zuweisung ans Memo und Application.ProcessMessages), dann muß Zeit zum Lesen bleiben. Danach soll der Knopf gedrückt und der nächste Satz gelesen werden (= die Schleife soll weiterlaufen). Klaus-Peter |
Re: Programm unterbrechen (und weiterlaufen lassen)
Zitat:
![]() |
Re: Programm unterbrechen (und weiterlaufen lassen)
Zitat:
Funktion und Darstellung trennen. Ein Button1 mit Text "Datei einlesen". Hier im OnClick wird die erste Zeile gelesen, im Memo angezeigt und in einer Variablen die Zeilennummer gemerkt. Dann einen Button "nächste Zeile lesen". In diesem OnClick wird jeweils eine weitere Zeile gelesen und im Memo angezeigt. Auch hier merkt man sich die Zeilennummer. Wenn die Datei zu Ende gelesen ist, wird der Button "nächste Zeile" deaktiviert. |
Re: Programm unterbrechen (und weiterlaufen lassen)
Zitat:
Sprich: Vergiss die Schleife ^^ (Mist, zu langsam =P ^^) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:04 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz