// ================================================ ==========================================
// 폴더의 파일을 가로 지르고
// 사용 지침
// _getFilelist (listbox1.Items, 'c :/*. doc');
// _getFilEList (MyTStringList, 'C :/*. exe');
// ================================================ ==========================================
절차 tform1._getfilelist (수렴 : tstrings; Asourfile : String);
var sour_path, sour_file : 문자열;
tmplist : tstringlist;
filerec : tsearchrec;
시작하다
sour_path : = ExtractFilePath (asourfile);
sour_file : = extractfilename (asourfile);
DirectoryExists (sour_path)가 아닌 경우
시작하다
수렴.
출구;
끝;
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');
// ================================================ ==========================================
절차 _getfilelist (수렴 : tstrings; Asourfile,
파일 이름 : 문자열);
var sour_path, sour_file : 문자열;
tmplist : tstringlist;
Filerec, subfilerec : tsearchrec;
I : 정수;
시작하다
rightstr (trim (asourfile), 1) <> '/'라면
sour_path : = trim (asourfile) + '/'
또 다른
sour_path : = trim (asourfile);
sour_file : = filename;
DirectoryExists (sour_path)가 아닌 경우
시작하다
수렴.
출구;
끝;
tmplist : = tstringlist.create;
tmplist.clear;
findfirst (sour_path+'*.*', faanyfile, filerec) = 0이면
반복하다
if ((filerec.attr 및 fadirectory) <> 0) 그러면
시작하다
if ((filerec.name <> '.') 및 (filerec.name <> '..)))
_getFilEList (Astrings, sour_path + filerec.name + '/', sour_file);
끝
또 다른
findfirst (sour_path + filename, faanyfile, subfilerec) = 0이면
반복하다
if ((subfilerec.attr 및 fadirectory) = 0) 그러면
tmplist.add (sour_path+subfilerec.name);
findNext (subfilerec) <> 0까지;
findNext (filerec) <> 0까지;
sysutils.findclose (filerec);
i : = 0 to tmplist.count -1 do
astrings.add (tmplist.strings [i]);
tmplist.free;
끝;