![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Еще раз Поиск фалов.... [D5, D6, Win95/98]
TankMan © (2002-10-07 00:33:00)Я вижу тут задавали вопрос по поводу поиска файла, но у меня другая проблема, я знаю как искать, знаю как пользоватся, но вот например у меня здача найти все файлы в указанной директории и поддирикториях, все файлы - дубликаты, точнее, файлы, имеющие одинаковое имя, но разное разширение, я парился всю ночь но понял, что очень сильно запутался, я смог искать файлы, только в в указанной директории, и в поддиректориях первого уровня, но код получился оочень громоздкий, и я понял, что поддиректории хотябы 2 уровня мне не осилить, может я делаю что-то принципиально не правильно, может кто-то даст пример эффективного поиска, хотябы просто файлов в указанной директории, и поддиректориях.
Заранее благодарен
Dimka Maslov (2002-10-07 10:38:00) [1]http://delphibase.endimus.com/?action=viewfunc&topic=fileops&id=10046
Pat (2002-10-07 01:16:00) [2]>пример эффективного поиска, хотябы просто файлов в указанной
>директории, и поддиректориях
procedure ScanDir(aPath: String; var aList: TStringList);
var
SR: TSearchRec;
tPath: String;
begin
tPath := IncludeTrailingBackSlash(aPath);
if FindFirst(tPath+"*.*",faAnyFile,SR) = 0 then
begin
try
repeat
if SR.Name[1]="." then Continue;
case (SR.Attr and faDirectory) of
faDirectory: ScanDir(tPath+SR.Name,aList);
else aList.Add(tPath+SR.Name);
end;
until FindNext(SR)<>0;
finally
sysutils.FindClose(SR);
end;
end;
end;
TankMan (2002-10-07 00:58:00) [3]Я это понимаю, но при попытке это реализовать... у меня не получилось просто напросто... я запутался вообще...
не льзя ли примерчик?
rhf (2002-10-07 00:49:00) [4]ищте файлы по маске в текущей папке
затем для каждой вложенной папки вызываете эту же процедуру
получаете рекурсию...........