![]() |
Ordnerausleseproblem
Hallo,
Delphi-Quellcode:
damit sollte er eigentlich einen wählbaren Ordner auslesen und die Dateien darin in einer Listbox darstellen.
procedure TForm1.Button1Click(Sender: TObject);
var SearchRec: TSearchRec; begin SelectDirectory('Wählen Sie einen Ordner aus:','', Dir); Listbox1.Items.Clear; FindFirst(ExtractFilePath(Dir) + '*.*', faAnyFile, SearchRec); repeat ListBox1.items.add(searchrec.Name); until FindNext(searchrec) <> 0; findclose(searchrec); end; In der Listbox befinden sich dann merkwürdigerweise aber nicht die Dateien des ausgewählten Ordners sondern die des Ordners, welcher eine Ebene höher als der gewählte ist....Hat irgendjemand ne idee? :gruebel: |
Re: Ordnerausleseproblem
Du hast einen Ordner und schneidest mittels ExtractFilePath den Teil nach dem letzten Backslash ab. Welcher Order wird den wohl durchsucht? :gruebel:
|
Re: Ordnerausleseproblem
'\*.*'
da fehlt noch was ... du hängst ja die maske sonst direkt an den ordnernamen an und damit gehört si zu dem ordner und er zeigt diesen an (und alles was so anfängt, wie er heißt). [edit] ach ja, mit ExtractFileDir ginge es och :roll: [edit2] ach ja, warum überhaupt das ExtraxtFile.. da sucht sich der User in Verzeichnis aus und die nimmst das Elternverzeichnis zum durchsuchen :shock: |
Re: Ordnerausleseproblem
hmm...wie dumm von mir... :oops:
Und wie krieg ich ihn dann dazu, den Ordner nur anhand des Pfades ohne ExtractFilePath auszulesen? Hab das schon ausprobiert, aber dann zeigt er fehler an und die ganze Prozedur geht dann nicht mehr.... :cry: Ich glaub ich stell mich dumm an... :angel2: |
Re: Ordnerausleseproblem
SelectDirectory liefert doch den Pfad ohne TrailingBackslash?
also dann wohl so
Delphi-Quellcode:
oder so
FindFirst(Dir + '\*.*', faAnyFile, SearchRec);
Delphi-Quellcode:
FindFirst(InludeohneTrailingBackslasch(Dir) + '*.*', faAnyFile, SearchRec);
obwohl der ordner hier meist nicht leer ist ('.' und '..' sind ja meist noch da) ... kann 'ne abfrage, ob überhaupt was gefunden wurde nicht schaden :zwinker:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var SearchRec: TSearchRec; begin SelectDirectory('Wählen Sie einen Ordner aus:','', Dir); Listbox1.Items.Clear; if FindFirst(ExtractFilePath(Dir) + '*.*', faAnyFile, SearchRec) then begin repeat ListBox1.items.add(searchrec.Name); until FindNext(searchrec) <> 0; findclose(searchrec); end; end; |
Re: Ordnerausleseproblem
Sowas ahnliches hab ich auch schon probiert, mit deinem code gehts! :thumb:
DANKE! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:11 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