// ================================================ ===================== ======================
// اجتياز ملف في مجلد ،
// تعليمات للاستخدام
// _getFilelist (listbox1.items ، 'c:/*. doc') ؛
// _getFilelist (MyTstringList ، 'c:/*. exe') ؛
// ================================================ ===================== ======================
الإجراء tform1._getfilelist (strings: tstrings ؛ asourfile: string) ؛
var sour_path ، sour_file: string ؛
tmplist: tstringlist ؛
Filerec: tsearchrec ؛
يبدأ
sour_path: = extractFilePath (asourfile) ؛
sour_file: = extractFilename (asourfile) ؛
إذا لم يكن الدليل (sour_path) ثم
يبدأ
strings.clear ؛
مخرج؛
نهاية؛
tmplist: = tstringList.create ؛
tmplist.clear ؛
إذا findFirst (sour_path+sour_file ، faanyfile ، filerec) = 0 ثم
يكرر
if ((filerec.attr و fadirectory) = 0) ثم
يبدأ
tmplist.add (sour_path+filerec.name)
نهاية؛
حتى findNext (filerec) <> 0 ؛
sysutils.findClose (filerec) ؛
Astrings.assign (tmplist) ؛
tmplist.free ؛
نهاية؛
// ================================================ ===================== ======================
// السفر عبر مجلد معين وملف معين تحت مقلع فرعي ،
// تعليمات للاستخدام
// _getfilelist (listbox1.items ، 'c:/' ، '*.doc') ؛
// _getFilelist (MyTstringList ، 'c:/' ، '*.exe') ؛
// ================================================ ===================== ======================
الإجراء _getFileliles (Astrings: tstrings ؛ asourfile ،
اسم الملف: سلسلة) ؛
var sour_path ، sour_file: string ؛
tmplist: tstringlist ؛
Filerec ، subfilerec: tsearchrec ؛
أنا: عدد صحيح.
يبدأ
إذا حقوق (trim (asourfile) ، 1) <> '/' ثم
sour_path: = trim (asourfile) + '/'
آخر
sour_path: = trim (asourfile) ؛
sour_file: = اسم الملف ؛
إذا لم يكن الدليل (sour_path) ثم
يبدأ
strings.clear ؛
مخرج؛
نهاية؛
tmplist: = tstringList.create ؛
tmplist.clear ؛
إذا findFirst (sour_path+'*.*' ، faanyfile ، filerec) = 0 ثم
يكرر
if ((filerec.attr و fadirectory) <> 0) ثم
يبدأ
if ((filerec.name <> '.') و (filerec.name <> '..')) ثم
_getFilelist (strings ، sour_path + filerec.name + '/' ، sour_file) ؛
نهاية
آخر
إذا findFirst (sour_path + اسم الملف ، faanyfile ، subfilerec) = 0 ثم
يكرر
if ((subfilerec.attr و fadirectory) = 0) ثم
tmplist.add (sour_path+subfilerec.name) ؛
حتى findNext (subfilerec) <> 0 ؛
حتى findNext (filerec) <> 0 ؛
sysutils.findClose (filerec) ؛
لأني: = 0 إلى tmplist.count -1 افعل
Astrings.Add (tmplist.strings [i]) ؛
tmplist.free ؛
نهاية؛