// =================================================== ==============================================
// eine Datei in einem Ordner durchqueren,
// Anweisungen zur Verwendung
// _getFilelist (listBox1.Items, 'c:/*. Doc');
// _getFilelist (mytstringlist, 'c:/*. Exe');
// =================================================== ==============================================
Procedure tform1._getfilelist (astrings: tstrings; asourFile: String);
var Sour_Path, Sour_file: String;
TMPLIST: TStringList;
FileRec: tsearchrec;
Beginnen
Sour_Path: = extractFilepath (asourFile);
Sour_file: = extractFileName (asourFile);
Wenn nicht DirectoryExists (Sour_Path) dann
Beginnen
Astrings.clear;
Ausfahrt;
Ende;
Tmplist: = tstringlist.create;
Tmplist.clear;
Wenn findfirst (Sour_path+Sour_file, Faanyfile, fileRec) = 0 dann
wiederholen
if ((fileRec.attr und fadirectory) = 0) dann
Beginnen
Tmplist.add (Sour_path+fileRec.name)
Ende;
bis FindNext (fileRec) <> 0;
Sysutils.findclose (fileRec);
Astrings.assisign (tmplist);
Tmplist.free;
Ende;
// =================================================== ==============================================
// Reisen Sie durch einen bestimmten Ordner und eine bestimmte Datei unter einem Unterordner.
// Anweisungen zur Verwendung
// _getFilelist (listBox1.Items, 'c:/', '*.doc');
// _getFilelist (mytstringlist, 'c:/', '*.exe');
// =================================================== ==============================================
Verfahren
Dateiname: String);
var Sour_Path, Sour_file: String;
TMPLIST: TStringList;
FileRec, subfilec: tsearchrec;
I: Ganzzahl;
Beginnen
Wenn rechts (trim (asourFile), 1) <> '/' dann dann
Sour_Path: = Trim (asourFile) + '/'
anders
Sour_Path: = Trim (asourFile);
Sour_file: = Dateiname;
Wenn nicht DirectoryExists (Sour_Path) dann
Beginnen
Astrings.clear;
Ausfahrt;
Ende;
Tmplist: = tstringlist.create;
Tmplist.clear;
Wenn findfirst (Sour_path+'*.*', faanyfile, fileRec) = 0 dann
wiederholen
if ((fileRec.attr und fadirectory) <> 0) dann
Beginnen
if ((fileRec.name <> '.') und (fileRec.name <> '..')) dann
_GetFilelist (Astrierungen, Sour_Path + fileRec.name + '/', Sour_file);
Ende
anders
Wenn findfirst (Sour_path + Dateiname, Faanyfile, subfilec) = 0 dann dann
wiederholen
if ((subfilec.attr und fadirectory) = 0) dann
Tmplist.add (Sour_path+subfilec.name);
bis FindNext (subfilec) <> 0;
bis FindNext (fileRec) <> 0;
Sysutils.findclose (fileRec);
für i: = 0 bis tmplist.count -1 do
Astrings.add (tmplist.Strings [i]);
Tmplist.free;
Ende;