Jak zrobić w wyszukiwaniu plików zrobić progressbar
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
ListBox1: TListBox;
Button1: TButton;
Edit1: TEdit;
Edit2: TEdit;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
procedure Szukaj(katalog: string; const plik, roz: ShortString);
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Szukaj(katalog: string; const plik, roz: ShortString);
const
ext = '*.*';
var
SR: TSearchRec;
fname: string;
begin
if katalog[length(katalog)] <> '\' then
katalog := katalog + '\'; //dopisujemy znak '\' jesli go nie ma
if FindFirst(katalog + ext, faAnyFile, SR) <> 0 then
EXIT; //jesli nie ma plików opuszczamy procedurę
while FindNext(SR) = 0 do
begin
if ((sr.Attr and faDirectory) <> 0) and ( SR.Name <> '..') then
szukaj(katalog + SR.Name + '\', plik, roz) //jesli plik jest katalogiem to szukamy w tym katalogu
else
begin
{kolejno warunki: jesli nazya jest różna od '..' i '.' oraz rozszerzenie zgadza sie temu które podalismy a takze nazwa pliku z rozszerzeniem jest równa aktualnie sprawdzanemu plikowi}
if (SR.Name <> '..') and (Sr.Name <> '.') and
(lowercase(ExtractFileExt(SR.Name)) = '.' + roz) and
(lowercase(plik + '.' + roz) = lowercase(extractfilename(SR.Name))) then
ListBox1.Items.Add(katalog + SR.Name);
end;
Application.ProcessMessages;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Szukaj('E:\', edit1.text, edit2.text);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
end;
end.