TSearchRec
Grundlegendes
Mit TSearchRec können Dateinamen und
weitere Dateiinformationen eines Verzeichnisses ausgelesen
werden. Hier im Beispiel werden alle Dateien eines
Verzeichnisses in eine TListBox bzw. TStringlist aufgelistet.
Listet alle Dateien eines Verzeichnisses in ein TStrings - also
z.B. TListBox oder TStringList
|
procedure
GetDir(Pfad: string; FileList: TStrings);
var
SR: TSearchRec;
begin
if FindFirst(Pfad + '\*.*',
faAnyFile, SR) = 0
then //
siehe Optionen
begin
repeat
if (SR.Attr <> faDirectory)
then
begin
FileList.Add(SR.Name); // siehe weitere
Dateiinformationen
end;
until FindNext(SR) <>
0;
FindClose(SR);
end;
end; |
Anwenden:
|
ListFileDir('C:\WINDOWS',
ListBox1.Items);
// oder
ListFileDir('C:\WINDOWS',
MyStringList); |
Optionen:
Mit '*.*'
werde alle Dateien aufgelistet, '*.txt'
würde nur Texdateien auflisten.
Weitere Datei-Informationen auslesen:
Name - Datei- bzw. Ordnernamen als String ( SR.Name )
TimeStamp - Änderungsdatum in fileDate -> nach String: s
:= DateTimeToStr(fileDateToDateTime(Search.Time))
Size - Dateigröße in Byte als Integer Wert (Longint)
-> nach String: s := IntToStr(SR.Size)
Att - Datei Attribut als Integer
Für Ordner (und Dateien):
Listet alle Ordner eines Verzeichnisses in ein TStrings - also
z.B. TListBox oder TStringList
|
procedure
GetDir(Pfad: string; FileList: TStrings);
var
SR: TSearchRec;
begin
if FindFirst(Pfad + '\*',
faDirectory, SR) = 0
then // es geht hier auch faAnyFile
für Dateien und Ordner
begin
repeat
FileList.Add(SR.Name);
until FindNext(SR) <>
0;
FindClose(SR);
end;
end; |
|