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

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

Как найти файлы?


deras ©   (2007-04-18 15:44:00) 

Подскажите, как найти файли с маской *.txt в папке C:\temp и в ее подпапках? Очень желательно пример...


Рамиль   (2007-04-18 18:27:00) [1]


> begining user   (18.04.07 17:42) [7]

Сорри, выдрал из своего кода не подумав. Мне просто нужны были атрибуты файлов в дальнейшем. А вообще
type
 TSearchObj = class
 public
   SearchRec: TSearchRec;
 end;

Можно выкинуть.


{RASkov}   (2007-04-18 17:55:00) [2]

> [7] begining user   (18.04.07 17:42)

убери его и все что с ним связано...


begining user   (2007-04-18 17:42:00) [3]

пишет: неизвестный идентификатор TSearchObj;


MBo   (2007-04-18 16:58:00) [4]

> как вызывать? Как закатать список файлов в Memo?
в заголовке процедуры вместо параметра
var List: TstringList
сделать
List: TStrings
и передавать Memo.Lines


{RASkov}   (2007-04-18 16:44:00) [5]

> [4] begining user   (18.04.07 16:41)

...
Memo.Lines.Add(SearchRec.Name);
...


begining user   (2007-04-18 16:41:00) [6]

>Рамиль ©   (18.04.07 15:56) [2]
А как вызывать? Как закатать список файлов в Memo?


deras   (2007-04-18 16:14:00) [7]

>Рамиль ©   (18.04.07 15:56) [2]
Огромное спасибо!


Рамиль   (2007-04-18 15:56:00) [8]

procedure CreateFileList(var BeginPath: string; Path: string; var List: TstringList);
var
 SearchRec: TSearchRec;
 FindFlag: integer;
 SearchObj: TSearchObj;
begin
 FindFlag := FindFirst(Path + '*.*', faAnyFile, SearchRec);
 while FindFlag = 0 do
 begin
   if (SearchRec.Name <> '.') and (SearchRec.Name <> '..') then
   begin
     SearchObj := TSearchObj.Create;
     SearchObj.SearchRec := SearchRec;
     List.AddObject(ExcludeBeginPath(BeginPath, Path + SearchRec.Name), SearchObj);
     if (SearchRec.Attr and faDirectory <> 0) then
       CreateFileList(BeginPath, Path + SearchRec.Name + '\', List);
   end;
   FindFlag := FindNext(SearchRec);
 end;
 SysUtils.FindClose(SearchRec);
end;


Перебирает все файлы, как найти *.txt думаю сам догадаешься.


Dmitrij_K   (2007-04-18 15:55:00) [9]

FindFirst в поиск


Наверх

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