![]() |
TSearchRec in einer TListBox
Hi,
kann mir jemand sagen, wie ich das Ergebnis einer FindFirst-FindNext-FindClose als TSearchRec in eine TListBox laden kann? Mir wäre am liebsten, wenn ich in einer for..do Schleife nacheinander die Dateinamen der TSearcRec in einen String umwandeln kann. --- Ich kann's nicht :cry:
Delphi-Quellcode:
for x := 1 to z do // wobei z die Anzahl der Dateien ist
begin s := // ? - Wie lese ich den nächsten Eintrag des TSearchRec in den String ein? ListBox1.Items.Add(s); end; |
Re: TSearchRec in einer TListBox
Delphi-Quellcode:
in etwa so, mußt es nur Deinen Bedingungen anpassen.
var
searchResult : TSearchRec; begin // Try to find regular files matching Unit1.d* in the current dir if FindFirst('Unit1.d*', faAnyFile, searchResult) = 0 then begin repeat ListBox1.Items.Add(searchResult.name); until FindNext(searchResult) <> 0; // Must free up resources used by these successful finds FindClose(searchResult); end; end; Aber hatten wir das nicht schonmal hier -> ![]() Grüße Klaus |
Re: TSearchRec in einer TListBox
Danke :-D
Wie würde es den bei der Suche nach Ordnern funktionieren? Irgendwas mit "faDirectory", oder? |
Re: TSearchRec in einer TListBox
ja, und wenn Du es recursive haben möchtest ->
![]() Grüße Klaus |
Re: TSearchRec in einer TListBox
Zitat:
Delphi-Quellcode:
Als kleiner Tip, nutze die TWin32FindData-Struktur, das ganze läuft ein wenig schneller, da direkt mit Windows-Api-Funktionen gearbeitet wird. Die Funktionen der Sysutils setzen ja nur darauf auf.
if FindFirst(sPath, faAnyFile, SearchRec) = 0 then
begin repeat // handelt es sich um ein Verzeichnis? if (SearchRec.Attr and faDirectory) = faDirectory then begin if (SearchRec.Name <> '.') and (SearchRec.Name <> '..') then doSomething(); end; until FindNext(SearchRec) <> 0; FindClose(SearchRec); // wird benötigt um den Speicher wieder freizugeben end; |
Re: TSearchRec in einer TListBox
Zitat:
|
Re: TSearchRec in einer TListBox
:oops: Oh, entschuldigung...
:wall: Do something (engl: mache etwas) Da soll also mein Quellentext hin. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:25 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