Здравствуйте, jurmich, Вы писали:
J>Podskazhite pls, kak polutchit spisok failov v zadannoj papke?
FindFirst, FindNext
Евгений, с приветом (но без остроумной подписи, к сожалению

)
Здравствуйте, jurmich, Вы писали:
J>Podskazhite pls, kak polutchit spisok failov v zadannoj papke?
procedure ScanDir(StartDir: string; Mask:string; List:TStrings);
var SearchRec : TSearchRec;
begin
if Mask = '' then Mask := '*.*';
if StartDir[Length(StartDir)] <> '\' then StartDir := StartDir + '\';
if FindFirst(StartDir+Mask, faAnyFile, SearchRec) = 0 then
begin
repeat
Application.ProcessMessages;
if (SearchRec.Attr and faDirectory) <> faDirectory then
List.Add(StartDir + SearchRec.Name)
else if (SearchRec.Name <> '..') and (SearchRec.Name <> '.') then
begin
List.Add(StartDir + SearchRec.Name + '\');
ScanDir(StartDir + SearchRec.Name+ '\',Mask,List);
end;
until FindNext(SearchRec) <> 0;
FindClose(SearchRec);
end;
end;
Пример вызова, параметры
1. имя папки
2. маска, по умолчанию *.*
3. хранилище для резульатат,
любой наследник от TString, например TStringList
procedure TForm1.Button1Click(Sender: TObject);
begin
ListBox1.Items.Clear;
ScanDir('c:','',ListBox1.Items);
Label1.Caption := IntToStr(ListBox1.Items.Count);
end;
С уважением
Анатолий Подгорецкий
Взято на DELPHI.mastak.ru
... << RSDN@Home 1.0 beta 5 >>