1. Buat Project Baru
2. Tambahkan beberapa komponen, diantaranya adalah
- Label1 dengan Caption = 'Drive'
- Label2 dengan Caption = 'Ekstensi File'
- Label3 dengan Caption = 'Files Found'
- Button1 dengan Caption = 'Cari Files'
- ListBox1
aturlah tata letak sesuai keinginan anda ...

3. Masukan variable FilesList: TStringList pada Variable Global
var Form1: TForm1; FilesList: TStringList;
4. Buatlah Procedure Baru dengan nama FindFiles
procedure FindFiles(StartDir, FileMask: string);
var
SR: TSearchRec;
DirList: TStringList;
IsFound: Boolean;
i: integer;
begin
if StartDir[length(StartDir)] <> '\' then
StartDir := StartDir + '\';
IsFound :=
FindFirst(StartDir+FileMask, faAnyFile-faDirectory, SR) = 0;
while IsFound do begin
FilesList.Add(StartDir + SR.Name);
IsFound := FindNext(SR) = 0;
end;
FindClose(SR);
DirList := TStringList.Create;
IsFound := FindFirst(StartDir+'*.*', faAnyFile, SR) = 0;
while IsFound do begin
if ((SR.Attr and faDirectory) <> 0) and
(SR.Name[1] <> '.') then
DirList.Add(StartDir + SR.Name);
IsFound := FindNext(SR) = 0;
end;
FindClose(SR);
for i := 0 to DirList.Count-1 do
FindFiles(DirList[i], FileMask);
DirList.Free;
end;
5. Pada Even OnShow milik form1 tambahkan kode berikut
Edit1.Clear;
Edit2.Clear;
ListBox1.Clear;
Edit1.SetFocus;
5. Terakhir Pada Even OnClick milik Button1 tambahkan kode berikut
FilesList := TStringList.Create;
FindFiles(Edit1.Text, Edit2.Text);
ListBox1.Items.Assign(FilesList);
Label1.Caption := 'Files found: ' + IntToStr(FilesList.Count);
FilesList.Free;
Misal...
kita akan mencari File berekstensi *.ico {icon} di Drive D:

Sekian .........