03 Juni 2009

Cari File

Fitur pencarian file dalam Hard Drive atau Media penyimpanan lainnya sebenarnya telah ada pada setiap Sistem Operasi baik itu Windows, LINUX, UNIX dsb, kali ini saya akan membuat fitur itu dengan menggunakan Delphi .......

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 .........