![]() |
Schleifen und break;
Ich habe eine schleife die sich x mal wiederholt, möchte ich nun mein programm beenden mit Close; versucht die Anwendung die Schleifenanzahl noch komplett zu beenden! Dies ist ja nicht der Sinn der Sache, da ich ja aus der schleife rausmöchte und beenden!
Soweit wie ich weis läuft das alles über das break; Wie sieht es nun aus, wenn ich via einen Button nur aus der Schleife möchte?
Code:
procedure TForm1.Beenden1Click(Sender: TObject);
begin break; //Hm funzt leider icht end; |
Re: Schleifen und break;
Hallo,
das müsstest du so in der Art lösen:
Delphi-Quellcode:
var Abbruch: Boolean = false;
// ... // Beispiel: for-Schleife // Bei repeat/while ging es direkt im Schleifenkopf/-fuß for i := 1 to 10000 do begin if Abbruch then break; end; // ... // Button OnClick bzw. OnClose o.ä. Abbruch := true; |
Re: Schleifen und break;
Hi,
Tipp: Exit ist zum Verlassen von Proceduren und Funktionen! Mfg Tom |
Re: Schleifen und break;
Zitat:
|
Re: Schleifen und break;
Hi,
wenn es ums Beenden geht:
Delphi-Quellcode:
Zum Abbruch wären möglich:
for i := 1 to 10000 do
begin DoSomethingWith(i); Application.ProcessMessages; if Application.Terminated then break; end; break - Schleife verlassen exit - procedure / function verlassen abort - mehrere proceduren / functionen auf einmal verlassen In allen drei Fällen wird eventueller Code zwischen finally und end noch ausgeführt. Bei Abort ist es wichtig, dass keine try-except-Blöcke vorkommen, welche EAbort behandeln, ohne sie erneut auszulösen. (Einer der Gründe, weshalb man bei try..except..end möglichst on EConvertError do ... verwenden sollte). Mfg FAlter |
Re: Schleifen und break;
Vielen Dank für eure Hilfe, werds mal antesten!
Mit freundlichen Grüßen |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:51 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 by Thomas Breitkreuz