Форум: "Начинающим";
Текущий архив: 2006.08.20;
Скачать: [xml.tar.bz2];
Внизпоиск файлов Найти похожие ветки
← →
Nagano (2006-08-01 12:53) [0]Как можно найти все файлы с определенным расширением в определенной папке и всех ее подпапках?
← →
Джо © (2006-08-01 12:54) [1]FindFirst, FindNext, FindClose. Поищи по форуму. Тут чуть ли не каждую неделю готовый код выкладывают.
← →
Сергей М. © (2006-08-01 13:05) [2]см. TOpenDialog + св-во Filter + событие OnIncludeItem
← →
Darvin © (2006-08-01 17:16) [3]Джо © (01.08.06 12:54) [1] + рекурсия по вложенным папкам
← →
Ivolg © (2006-08-01 18:15) [4]Вот неплохой алгоритм поиска:
Procedure TForm1.FindRecursive( Const path: String; Const mask: String);
Var
fullpath: String;
Function Recurse( Var path: String; Const mask: String ): Boolean;
Var
SRec: TSearchRec;
retval: Integer;
oldlen: Integer;
Begin
Recurse := True;
oldlen := Length( path );
retval := FindFirst( path+mask, faAnyFile, SRec );
While retval = 0 Do Begin
If (SRec.Attr and (faDirectory or faVolumeID)) = 0 Then
ListBox1.items.Add(path+srec.name);
retval := FindNext( SRec );
End;
FindClose( SRec );
If not Result Then Exit;
retval := FindFirst( path+"*.*", faDirectory, SRec );
While retval = 0 Do Begin
If (SRec.Attr and faDirectory) <> 0 Then
If (SRec.Name <> ".") and (SRec.Name <> "..") Then Begin
path := path + SRec.Name + "\";
If not Recurse( path, mask ) Then Begin
Result := False;
Break;
End;
Delete( path, oldlen+1, 255 );
End;
retval := FindNext( SRec );
End;
FindClose( SRec );
End; { Recurse }
Begin
If path = "" Then
GetDir(0, fullpath)
Else
fullpath := path;
If fullpath[Length(fullpath)] <> "\" Then
fullpath := fullpath + "\";
If mask = "" Then
Recurse( fullpath, "*.*" )
Else
Recurse( fullpath, mask );
End;
← →
StriderMan © (2006-08-01 18:21) [5]
> retval := FindFirst( path+mask, faAnyFile, SRec );
> While retval = 0 Do Begin
> If (SRec.Attr and (faDirectory or faVolumeID)) =
> 0 Then
> ListBox1.items.Add(path+srec.name);
> retval := FindNext( SRec
здесь явно можно обойтись безretval
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.08.20;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.04 c