08/09/09 06:57:56
>>33です。
>>34 >>35 返信ありがとうございました。
お陰様で、かなめの部分はこんな感じでできました。
void FindPathPattern(TStringList *paths, AnsiString dir, const TStringList *items, int level)
{
TSearchRec sr;
int attr;
if (level < items->Count-1) {
// フォルダ検索&再帰
attr = faAnyFile;
if (FindFirst(dir+items->Strings[level], attr, sr) == 0) {
do {
if (sr.Attr & faDirectory) {
FindPathPattern(paths, dir+sr.Name+"\\", items, level+1);
}
} while (FindNext(sr) == 0);
FindClose(sr);
}
}
else {
// ファイル検索&保存
attr = faAnyFile & ~faDirectory;
if (FindFirst(dir+items->Strings[level], attr, sr) == 0) {
do {
paths->Add(dir+sr.Name);
} while (FindNext(sr) == 0);
FindClose(sr);
}
}
}