// =================================================== ===================== ========================
// lintasi file dalam folder,
// Petunjuk Penggunaan
// _getFileList (listbox1.items, 'c:/*. Doc');
// _getFilelist (mytStringList, 'c:/*. Exe');
// =================================================== ===================== ========================
Prosedur TFORM1._GetFilelist (Astrings: Tstrings; Asourfile: String);
var Sour_path, Sour_File: String;
TMplist: TStringList;
Filerec: tsearchrec;
Mulai
Sour_path: = ExtractFilePath (Asourfile);
Sour_file: = ExtractFileName (Asourfile);
Jika bukan directoryexists (Sour_path) maka
Mulai
Astrings.Clear;
KELUAR;
akhir;
TMplist: = tStringList.create;
Tmplist.clear;
Jika FindFirst (Sour_Path+Sour_File, Faanyfile, Filerec) = 0 Lalu
mengulang
if ((filerec.attr dan fadirectory) = 0)
Mulai
Tmplist.add (Sour_path+filerec.name)
akhir;
sampai FindNext (filerec) <> 0;
Sysutils.findclose (filerec);
Astrings.assign (tmplist);
Tmplist.free;
akhir;
// =================================================== ===================== ========================
// bepergian melalui folder tertentu dan file tertentu di bawah subfolder,
// Petunjuk Penggunaan
// _getFilelist (listbox1.items, 'c:/', '*.doc');
// _getFilelist (mytStringList, 'c:/', '*.exe');
// =================================================== ===================== ========================
Prosedur _getFilelist (Astrings: Tstrings; Asourfile,
Nama file: string);
var Sour_path, Sour_File: String;
TMPLIST: TStringList;
Filerec, subfilerec: tsearchrec;
I: Integer;
Mulai
Jika Rightstr (trim (asourfile), 1) <> '/' lalu
Sour_path: = trim (asourfile) + '/'
kalau tidak
Sour_path: = trim (asourfile);
Sour_file: = nama file;
Jika bukan directoryexists (Sour_path) maka
Mulai
Astrings.Clear;
KELUAR;
akhir;
TMplist: = tStringList.create;
Tmplist.clear;
Jika FindFirst (Sour_Path+'*.*', Faanyfile, Filerec) = 0 Lalu
mengulang
if ((filerec.attr dan fadirectory) <> 0)
Mulai
if ((filerec.name <> '.') dan (filerec.name <> '..')) lalu
_GetFileList (Astrings, Sour_Path + Filerec.name + '/', Sour_File);
akhir
kalau tidak
Jika FindFirst (Sour_Path + FileName, Faanyfile, Subfilerec) = 0 lalu
mengulang
if ((subfilerec.attr dan fadirectory) = 0)
Tmplist.add (Sour_path+subfilerec.name);
sampai findNext (subfilerec) <> 0;
sampai FindNext (filerec) <> 0;
Sysutils.findclose (filerec);
untuk i: = 0 ke tmplist.count -1 do
Astrings.add (tmplist.strings [i]);
Tmplist.free;
akhir;