![]() |
Re: DateiAttribute aus ListBox auslesen
die If - abfrage ist auch nicht das problem.
Das problem ist, ich weiß nicht was ich an der procedure ändern muss damit KEINE Unterordner durchsucht werden. Alle Versuche haben bis jetzt zu einer Endlosschleife geführt... |
Re: DateiAttribute aus ListBox auslesen
Der Teil der für die Rekursion da ist, ist ja folgender
Delphi-Quellcode:
Warum steht da eigentlich Edit2.Text :gruebel: , da muß auch pfad hin! Das hätte so doch garnicht funktionieren können?! Poste mal deinen bisherigen Code!
Suche(ext, Edit2.Text + '\' + sr.Name);
|
Re: DateiAttribute aus ListBox auslesen
ja hast recht "pfad" muss dahin, vorher ging es auch es wurden aber nicht alle ordner komplett durchsucht, deshalb ist es mir nicht gleich aufgefallen:
Hier nochmal die procedure inklusieve Unterordnern durchsuchen:
Delphi-Quellcode:
Hier die procedure ohne Unterordner durchsuchen:
procedure TFormDateienSuchen.UnterordnerDurchsuchen(ext: Str3; Pfad : String);
var sr: TSearchRec; r: Integer; begin r:= FindFirst(Pfad + '\*.*' , faAnyFile,sr); if r = 0 then begin try while r = 0 do Begin if (sr.Name <> '.') and (sr.Name <> '..') then begin If (sr.Attr and FaDirectory) = faDirectory then begin UnterordnerDurchsuchen (ext,pfad + '\' + sr.Name); ListBoxOrdner.Items.Add(Pfad + '\' + sr.Name); end else if AnsiUpperCase(ExtractFileExt(sr.Name)) = '.'+ AnsiUpperCase(ext) then ListBoxDateien.Items.Add(pfad + '\' + sr.Name); end; // Application.ProcessMessages; r:= FindNext (sr); end; finally FindClose (sr); end; end; end;
Delphi-Quellcode:
so funtioniert es aber nicht. es wird zwar compiliert, hängt aber dann bei aktivierung der procedure in einer endlosschleife...
procedure TFormDateienSuchen.Durchsuchen(ext: Str3; Pfad : String);
var sr: TSearchRec; r: Integer; begin r:= FindFirst(Pfad + '\*.*' , faAnyFile,sr); if r = 0 then begin try while r = 0 do Begin if (sr.Name <> '.') and (sr.Name <> '..') then Begin ListBoxDateien.Items.Add(pfad + '\' + sr.Name); end; end; Application.ProcessMessages; r:= FindNext (sr); // end; finally FindClose (sr); end; end; end; greg |
Re: DateiAttribute aus ListBox auslesen
hey ich komm so nicht weiter...das problem ist warscheinlich gant einfach ich find die lösung aber trotzdem nicht...also helft mich noch ein letztes mal :oops:
danke gregor |
Re: DateiAttribute aus ListBox auslesen
Erstens hat Sakura :gruebel: in der Code Library schon mal nen passenden Code gepostet und zweitens ist ja wohl diese Zeile
Delphi-Quellcode:
fürs rekursive durchsuchen verantwortlich.
UnterordnerDurchsuchen (ext,pfad + '\' + sr.Name);
Also änder die in die folgenden Zeilen:
Delphi-Quellcode:
Das müßte theoretisch funktionieren.
if CheckBox1.Checked then begin
UnterordnerDurchsuchen (ext,pfad + '\' + sr.Name); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:03 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