Files Delphi

//
// Formunuza Bir tane Buton, Edit ve Memo ekleyin.
//
// Kullanim sekli;
//
// DosyaListesiniAl(KlasorAdi,Liste,AltKlasor);
//
// KlasorAdi : String bir degerdir ve hangi klasör icerisinde arama yapacaginizi belirtir.
// Liste : Arama sonucunda buldugu dosyalarin listesinin saklanacagi TStringList türünde bir degerdir.
// AltKlasor : Boolean tipindedir ve arama yaparken alt klasörlerede bakip bakmayacagini belirtir.
//
Unit DosyaListesi;
Interface
Uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
Type
TForm1 = Class(TForm)
Edit1: TEdit;
Button1: TButton;
Memo1: TMemo;
procedure Button1Click(Sender: TObject);
Private
{ Private declarations }
Public
{ Public declarations }
End;
Var
Form1 : TForm1;
Liste : TStringList;
implementation
{$R *.DFM}
Function TaksimKontrol(Const Yol,S : String) : String;
Begin
If AnsiLastChar(Yol)^<>'\' Then Result:=Yol+'\'+S
Else Result:=Yol+S;
End;
Procedure DosyaListesiniAl(Const KlasorAdi : String; DosyaListesi : TStringList; AltKlasorVarmi : Boolean);
Var
AramaBilgisi : TSearchRec;
Sonuc : Integer;
Begin
Sonuc:=FindFirst(PChar(TaksimKontrol(KlasorAdi,'*.*')),0,AramaBilgisi);
While Sonuc=0 Do
Begin
DosyaListesi.Add(TaksimKontrol(KlasorAdi,AramaBilgisi.Name));
Sonuc:=FindNext(AramaBilgisi);
End;
FindClose(AramaBilgisi);
If AltKlasorVarmi Then
Begin
Sonuc:=FindFirst(PChar(TaksimKontrol(KlasorAdi,'*.*')),faDirectory,AramaBilgisi);
While Sonuc=0 Do
Begin
If ((AramaBilgisi.Attr And faDirectory)<>0) Then
Begin
If ((AramaBilgisi.Name<>'.') And (AramaBilgisi.Name<>'..')) Then DosyaListesiniAl(TaksimKontrol(KlasorAdi,AramaBilgisi.Name),DosyaListesi,AltKlasorVarmi);
End;
Sonuc:=FindNext(AramaBilgisi)
End;
FindClose(AramaBilgisi);
End;
End;
Procedure TForm1.Button1Click(Sender: TObject);
Begin
Liste:=TStringList.Create;
Try
DosyaListesiniAl('C:\',Liste,True);
Memo1.Lines.Text:=Liste.Text;
Finally
Liste.Free;
End;
End;
End.
//
// Kolay gelsin.
//
// Hakan HAMURCU
//
// hamurcu@delphiturk.com
//