![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Поиск файлов в какалоге. [D6, Win95/98, WinME, NT4, Win2k]
VEG © (2001-10-14 10:38:00)Мне нужно произвести поиск файлов с расширением *.jpg, *.jpeg, *.bmp в определенном наталоге, включая и его подкаталоги, и загрузить его в массив.
Dimka Maslov (2001-10-15 10:26:00) [1]
uses Masks;
procedure FindFiles(InitialDir: string; List: TStrings; Mask: array of string);
var
SearchRec: TSearchRec;
FindResult: Integer;
i: Integer;
begin
InitialDir:=IncludeTrailingBackslash(InitialDir);
FindResult:=FindFirst(InitialDir+"*.*", faAnyFile, SearchRec);
try
while FindResult<>0 do with SearchRec do begin
if Attr and faDirectory <> 0 then begin
if (Name<>".") and (Name<>"..") then
FindFiles(InitialDir+Name, List, Mask);
end else begin
for i:=Low(Mask) to High(Mask) do
if MatchesMask(Name, Mask[i]) then List.Add(InitialDir+Name);
end;
FindResult:=FindNext(SearchRec);
end;
finally
FindClose(SearchRec);
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Memo1.Lines.BeginUpdate;
try
FindFiles("c:\", Memo1.Lines, ["*.bmp", "*.jpg", "*.jpeg"]);
finally
Memo1.Lines.EndUpdate;
end;
end;
Anatoly Podgoretsky (2001-10-14 14:01:00) [2]Функции FindFirst/Next/Close
Процедура SetLength()
Если посмотришь архивы за последнюю неделю, то найдешь и примеры, как правильные, так и неправильные.