Воскресенье, 19.05.2024, 19:28
Приветствую Вас Гость | RSS
delphicode.clan.su
Форма входа
Поиск
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
 
 ВЫВЕСТИ СПИСОК ФАЙЛОВ, НАХОДЯЩИХСЯ В КАТАЛОГЕ
  
 

Рассмотрим пример программы вывода всех файлов, находящихся в директории Windows. Поместим на форму компоненты TListBox, TEdit, TButton:

  
 


  
 Ниже приведен исходный код программы:
 

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
ListBox1: TListBox;
Button1: TButton;
Edit1: TEdit;
procedure Button1Click(Sender: TObject);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
procedure FindFile(Dir:String);
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin

ListBox1.Clear; 
FindFile(Edit1.Text); 
end;

procedure TForm1.FindFile(Dir:String);

var SR:TSearchRec; 
FindRes:Integer; 
begin
FindRes:=FindFirst(Dir+'*.*',faAnyFile,SR); 
While FindRes=0 do 
begin 
if ((SR.Attr and faDirectory)=faDirectory) and 
((SR.Name='.')or(SR.Name='..')) then
begin
FindRes:=FindNext(SR); 
Continue;
end;

if ((SR.Attr and faDirectory)=faDirectory) then {если найден каталог, то}
begin 
FindFile(Dir+SR.Name+'\'); {входим в процедуру поиска с параметрами текущего каталога + каталог, что мы нашли}
FindRes:=FindNext(SR); {после осмотра вложенного каталога мы продолжаем поиск в этом каталоге}
Continue; 
end;

ListBox1.Items.Add(SR.Name);
FindRes:=FindNext(SR); 
end;
FindClose(SR); 
end;

procedure TForm1.FormShow(Sender: TObject);
begin
Edit1.Text:='C:\Windows\';
end;

end.