King SofT
20-08-2010, 07:38 AM
بسم الله الرحمان الرحيم
السلام عليكم
عندي كود سورس لبرنامج بحث عن ملفات حيث اكتب في المحرر(edit1) اسم الملف متببوع بنوعه مثل image.bmp فيتم البحث عنه
السؤال : هل يمكنني ان اجعل هذا البرنامج يبحث عن كل ملفات jpeg او نوع نحدد دون كتابت الاسم
بمعنى ان اكتفي بكتابة .jpeg في edit1
procedure TForm1.Rechercher(Disq,Sh:String);
Var Sr: TSearchRec;
begin
//Recherche les répertoires
if FindFirst(Disq+'*.*',faAnyFile,Sr)=0 then //Commence la recherche
begin
if (Sr.Attr and faDirectory>0) and (Sr.Name[1]<>'.') then //Si on a trouve un dossier
Rechercher(Disq+Sr.Name+'\',Sh); //Appel la procédure "Rechercher"
while FindNext(Sr)=0 do //Tant que l'on trouve...
begin
if (Sr.Attr and faDirectory>0) and (Sr.Name[1]<>'.') then
Rechercher(Disq+Sr.Name+'\',Sh);
end;
FindClose(Sr); //Libère la mémoire allouée par FindFirst
end;
//Recherche le fichier dans les différents répertoires
if FindFirst(Disq+Sh,faAnyFile,Sr)=0 then
begin
if (Sr.Attr and faAnyFile)=Sr.Attr then
ListBox1.Items.Add(Disq+Sr.Name); //Affiche les fichiers dans le Memo1
while FindNext(Sr)=0 do
begin
if (Sr.Attr and faAnyFile)=Sr.Attr then
ListBox1.Items.Add(Disq+Sr.Name);
end;
FindClose(Sr);
end;
end;
السلام عليكم
عندي كود سورس لبرنامج بحث عن ملفات حيث اكتب في المحرر(edit1) اسم الملف متببوع بنوعه مثل image.bmp فيتم البحث عنه
السؤال : هل يمكنني ان اجعل هذا البرنامج يبحث عن كل ملفات jpeg او نوع نحدد دون كتابت الاسم
بمعنى ان اكتفي بكتابة .jpeg في edit1
procedure TForm1.Rechercher(Disq,Sh:String);
Var Sr: TSearchRec;
begin
//Recherche les répertoires
if FindFirst(Disq+'*.*',faAnyFile,Sr)=0 then //Commence la recherche
begin
if (Sr.Attr and faDirectory>0) and (Sr.Name[1]<>'.') then //Si on a trouve un dossier
Rechercher(Disq+Sr.Name+'\',Sh); //Appel la procédure "Rechercher"
while FindNext(Sr)=0 do //Tant que l'on trouve...
begin
if (Sr.Attr and faDirectory>0) and (Sr.Name[1]<>'.') then
Rechercher(Disq+Sr.Name+'\',Sh);
end;
FindClose(Sr); //Libère la mémoire allouée par FindFirst
end;
//Recherche le fichier dans les différents répertoires
if FindFirst(Disq+Sh,faAnyFile,Sr)=0 then
begin
if (Sr.Attr and faAnyFile)=Sr.Attr then
ListBox1.Items.Add(Disq+Sr.Name); //Affiche les fichiers dans le Memo1
while FindNext(Sr)=0 do
begin
if (Sr.Attr and faAnyFile)=Sr.Attr then
ListBox1.Items.Add(Disq+Sr.Name);
end;
FindClose(Sr);
end;
end;