do while Datei suchen Schleife anhalten
-
hei
ich nutze folgenden Code, um im vorgegebenen Path Ordner und Dateien zu suchen. Application->ProcessMessages() setze ich zu abfangen von Button-Clicks ein.HANDLE fHandle; WIN32_FIND_DATA wfd; // fHandle=FindFirstFile(ch1,&wfd); // Handle erstellen // do { Application->ProcessMessages(); } while (FindNextFile(fHandle,&wfd)); // FindClose(fHandle);Was muß ich tun, das es ermöglicht, die Suche anzuhalten und an der Stelle wieder fortsetzen ohne das alles wieder von vorne abläuft?
bis bald
dieleena
-
Indem du fHandle nicht gleich nach der Schleife sondern wirklich erst dann mit FindClose beendest sobald du es nicht mehr brauchst.
HANDLE fHandle; //schon im Header deklarieren. //-------------------------------------------------------------------- WIN32_FIND_DATA wfd; // if(!fHandle) fHandle=FindFirstFile(ch1,&wfd); // Handle erstellen // // wenn noch nicht erstellt do { Application->ProcessMessages(); } while (FindNextFile(fHandle,&wfd)); // //-------------------------------------------------------------------- //Ganz ans Programmende oder sobald du dir sicher //bist dass die Suche nicht mehr gestartet wird: FindClose(fHandle);
-
hei
soweit habe ich es verstanden. In der Procedur das Handle wenn noch nicht erstellen. Benötige ich nicht noch ein Flag, um nach " Application->ProcessMessages()" ein weiteres suchen von "while (FindNextFile(fHandle,&wfd))" zu unterbinden ?bis bald
dieleena
-
Hallo
Wenn du eine Pause-Funktion einbauen willst, dann muß das tatsächlich noch hinzugefügt werden. rean ginbg es mehr um das Prinzip, due Suchdaten fHandlenicht lokal sondern als Member des entsprechenden Forms zu deklarieren.
bis bald
akari
-
hei
ich werde das ganze mit der Pause-Funktion einbauen. Bei bedarf melde ich mich wieder.
vorerst vielen Dank.
bis bald
dieleena