Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Probleme mit Pausierung einer for Schleife (https://www.delphipraxis.net/81146-probleme-mit-pausierung-einer-schleife.html)

stonimahoni 21. Nov 2006 14:49


Probleme mit Pausierung einer for Schleife
 
hi leute...


hab da mal ein problem.
habe mich hier schon durchgesucht in der praxis aber nur bedingt was gefunden.
orientiert habe ich mich hieran : schleife unterbrechen und fortsetzen

allerdings will das bei mir net wirklich und ich hol mir an dem teil gleich das leben :/

wollt was zum testen basteln :
und zwar soll der code mir von den servern die ich so habe meine dbs lokal saugen - soweit so gut...
nun wollte ich mittels button das ganze mal pausieren können - sprich : "buttonclick -> pause" - button nochmalclick -> weiter gehts

doch der frisst die pause und weiter geschichte net so ganz einwandfrei
das is mein hauptstück, und hier würd ich die pausensache gern einbauen - kann mir jmd helfen ?


Delphi-Quellcode:
   for j := 0 to listbox1.count -1 do
   begin
      memo1.Clear;
      dateiquelle := listbox1.Items.Strings[j] + 'reparatur.mdb';
      memo1.Lines.Add(listbox1.Items.Strings[j]);
      if fileexists(dateiquelle) then
      begin
         copyfile(PChar(dateiquelle), PChar(dir + '\' +'reparatur_' + inttostr(j+1) + '.mdb'),false);
      end
      else
      begin
         listbox2.Items.Add(dateiquelle);
      end;
   end;

vielen dank schonmal

mfg

carsten

Klaus01 21. Nov 2006 14:59

Re: Probleme mit Pausierung einer for Schleife
 
Delphi-Quellcode:
for j := 0 to listbox1.count -1 do
   begin
      memo1.Clear;
      while pause do
        begin
          delay(100);
        end;
      dateiquelle := listbox1.Items.Strings[j] + 'reparatur.mdb';
      memo1.Lines.Add(listbox1.Items.Strings[j]);
      if fileexists(dateiquelle) then
      begin
         copyfile(PChar(dateiquelle), PChar(dir + '\' +'reparatur_' + inttostr(j+1) + '.mdb'),false);
      end
      else
      begin
         listbox2.Items.Add(dateiquelle);
      end;
   end;
Vorausgesetzt:

pause: Boolean
und mit dem Button wird Pause auf true oder false gesetzt.

Für delay mal ein wenig im Forum suchen.
Damit erreichst Du, dass die Meldungen und Nachrichten an Dein Programm
abgearbeitet werden. Dein Programm bekommt dann auch mit, wenn der Button zum Beenden
der Pause noch einmal gedrückt wurde.

Grüße
Klaus

stonimahoni 21. Nov 2006 15:05

Re: Probleme mit Pausierung einer for Schleife
 
Hallo Klaus.


werds mal testen - danke schon mal.

> pause: Boolean
und mit dem Button wird Pause auf true oder false gesetzt.

die beiden "bedingungen" sind erfüllt und gegeben


wenns echt mit dem delay getan is geh ich heim - dann steh ich heut echt auf dem schlauch :)


mfg

stonimahoni 22. Nov 2006 06:32

Re: Probleme mit Pausierung einer for Schleife
 
moin...

leider hat das mit dem dely nichts gebracht, zumal er mal wieder nicht mitbekommt. dass ich ne taste drücke :(


EDIT :

ok habs hinbekommen.

das hier : Application.ProcessMessages;
musste noch vor mein memo1.clear;


danke erstmal wieder :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:09 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz