Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Поиск файлов в какалоге. [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()
Если посмотришь архивы за последнюю неделю, то найдешь и примеры, как правильные, так и неправильные.


Наверх

Титульная страница Поиск, карта сайта Написать письмо