![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как найти файлы?
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 в поиск