Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Beenden meines Delphi Programms während einer For Schleife (https://www.delphipraxis.net/83411-beenden-meines-delphi-programms-waehrend-einer-schleife.html)

Hepheisto 2. Jan 2007 13:14


Beenden meines Delphi Programms während einer For Schleife
 
Ich habe folgendes problem, und zwar habe eine art pokersupporter geschrieben welcher eine for-schleife von 1-20 hoch zählt, sollte aber die pokerpartie während des zählens beednet worden sein (beispielsweise bei 12) und man eine neue beginnt, dann drück man auf den "start/neustart" button und somit startet die schleife erneut von 1 bis 20. Wird währenddessen der ende button gedrückt verschwindet zwar das programm dank meiner alphablendvalue - 5 schleife, aber das Programm beendet sich nicht und bleibt in der taskleiste drinne.
Gibt es eine procedur oder function um ein programm während einer for-schleife das programm zu beenden?

Matze 2. Jan 2007 13:16

Re: Beenden meines Delphi Programms während einer For Schlei
 
Du musst lediglich die For-Schleife mittels Delphi-Referenz durchsuchenbreak beim Schließen beenden. Das kannst du zum Beispiel realisieren, indem du eine boolsche Variable an entsprechender Stelle einführst.

Klaus01 2. Jan 2007 13:17

Re: Beenden meines Delphi Programms während einer For Schlei
 
Vielleicht break oder eine While/Repeat Schleife bauen
mit entsprechenden Abbruchbedingungen.

Grüße
Klaus

Luckie 2. Jan 2007 13:19

Re: Beenden meines Delphi Programms während einer For Schlei
 
Verlass erst die for-Schleife.

Hepheisto 2. Jan 2007 13:26

Re: Beenden meines Delphi Programms während einer For Schlei
 
Code:

procedure TPokersupporter.start_btnClick(Sender: TObject);
var uebergang: string;
begin
  start_btn.Caption := '&Neustart';
  ende_test := true;
  .....
 for t := 1 to 20 do
  if ende = false then
   begin
    if sound = true then
    begin
     PlaySound(PChar('ARNOLD'), hInstance, snd_ASync or snd_Resource);
      Pause(2000);
        begin
           if ende = false then
             begin
              //HIER KOMMT JETZT DAS ZÄHLEN DER BLINDS
              ....
              //DAS ZÄHLEN DER BLINDS BEENDET
             end;                                
        end;                                        
    end;                                            
   end;
so nur weiß ich nicht wie ich das break dort einbauen soll?

habe ich das richtig verstanden dass break ene boolsche variable ist?

Nils_13 2. Jan 2007 13:27

Re: Beenden meines Delphi Programms während einer For Schlei
 
Du musst schauen, wo die Stelle ist, an welcher abgebrochen wird und eine Zeile davor ein break; hinschreiben.

Matze 2. Jan 2007 13:29

Re: Beenden meines Delphi Programms während einer For Schlei
 
Überprüfe nicht auf = true und = false, sondern mach es so:

Delphi-Quellcode:
if foo then
// ...
if not foo then
Mittels Delphi-Referenz durchsuchenbreak (F1 drücken!) verlässt man eine Schleife. Bei dir könnte das also so aussehen:

Delphi-Quellcode:
for t := 1 to 20 do
begin
  if exit_program then break;
  // ...
end;
exit_program wäre hier eine boolsche Variable, die zu beginn auf false steht und im OnClose auf true gesetzt wird.

Evtl. muss du die Funktion "Pause" auch mit einer Abbruchbedingung versehen, je nach dem, was alles diese Verzögerung verursacht.

Hepheisto 2. Jan 2007 13:35

Re: Beenden meines Delphi Programms während einer For Schlei
 
achso joa jetzt gehts vielen dank ich hab echt ziemlich lange daran gesessen und es nicht hinbekommen, eigentlich logisch ;-)

ghost007 7. Jan 2008 12:18

Re: Beenden meines Delphi Programms während einer For Schlei
 
Hi,
wie is das aber, wenn ich zulassen will, das während die for-schleife durchläuft, das programm über das X oben rechts am fenster beendet werdern kann?

soll ich da onClose der form eine boolean variable setzten, die ich dann bei jedem schleifen durchlauf abfrage?

MfG - Ghost007

sirius 7. Jan 2008 13:35

Re: Beenden meines Delphi Programms während einer For Schlei
 
Zitat:

Zitat von ghost007
Hi,
wie is das aber, wenn ich zulassen will, das während die for-schleife durchläuft, das programm über das X oben rechts am fenster beendet werdern kann?

soll ich da onClose der form eine boolean variable setzten, die ich dann bei jedem schleifen durchlauf abfrage?

MfG - Ghost007

Wenn der Nutzer so viel Zeit hat, während einer Schleife, ein X oder sonstwas anzuklicken, dann solltest du über Threads nachdenken.


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:44 Uhr.
Seite 1 von 2  1 2      

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