الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

البحث عن الملفات ؟

مغلق
بدأه abazied في 17 سبتمبر 2005 · 11 رد · 920 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

ما هي التعليمات اللازمة من أجل بناء برنامج بحث عن الملفات مشابة لبرنامج البحث في ويندوز

على الأقل كيف يمكنني البحث عن المجلدات والملفات الفرعية

#2

أرجو أن تجد هنا ما يهمك في هذا الموضوع

File Finder

أو here

#3

شكرا لك

ووفقك الله

#4

البرامج السابقة معقدة بالنسبة إلى

أذا ممكن

كيف يمكنني البحث عن ملف بواسطة اسمة في كامل الجهاز

#5

إستخدم الدوال

FindFirst و FindNext

d4baa0.gif
#6

أخي الفاضل لا أخفيك أن هذه البرامج معقدة( زيادة) وانا اطلعت عليها ولم أفهمهما جيدا ولكن الكود التالي يبحث في دليل الويندوز+ دليل البرنامج الحالي وهذا ما استطعت ايجاده في هذا المجال أرجو أن يفيدك

واتوقع أنه ببضعة تعديلات نستطيع اجراء بحث شامل ( من مساعدة ديلفي)

وانا بدوري أطلب من من لهم خبرة بهذا المجال مساعدتنا وشكرا

الكود هو

procedure TForm1.Button1Click(Sender: TObject);
var
  buffer: array [0..255] of char;
  FileToFind: string;
begin
  GetWindowsDirectory(buffer, SizeOf(buffer));
  FileToFind := FileSearch(Edit1.Text, GetCurrentDir + ';' + buffer);
  if FileToFind = '' then
    ShowMessage('Couldn''t find ' + Edit1.Text + '.')
  else
    ShowMessage('Found ' + FileToFind + '.');
end;

اعتقد ان GetWindowsDirectory هي المفتاح والتي يجب ان تستبدل ولكن بماذا؟

هل مثلا DirectoryListBox1 والادوات الاخرى ب win3.1 ؟؟؟؟ أنا مشوش قليلا بشأن هذا وارجو ان نعرف الحل

#7

شكرا DeltaAziz

أرجو أن تظل معنا على الخط :lol: :lol: :lol: :lol: :lol:

#8

اي حدا ممكن يساعدنا ؟؟

#9
اقتباس
عتقد ان GetWindowsDirectory هي المفتاح

أسف بل هيGetCurrentDir للمعلمومية وأرجو التصحيح ان كنت مخطئأ

#10

مثال الأخ Zouhere Gerard يعمل فهو مثال من مساعدة دلفي

أخي Abazeid

إستخدم الدالة FindFirst وهذا مثال عنها

و إن أردت إستخدام بحث ويندوز فهذا مثال

فهل هذا ما تريد ؟

d4baa0.gif
#11

لقيت برنامج ولن المشكلة انه بعض المجلدات لا يبحث فيها حاولت معلافة السبب لكن لم استطع

ضع قيم البحث كالتالي

مجلد البحث c:\
ملف البحث folder.htt
include subfolders=true

لاحظ أن الملف الموجود ضمن مجلد web في مجلد الويندوز لم يتم العثور عليه

filesearch.rar

#12

بعد محاولات حثيثة هذا هو المطلوب

procedure FileSearcher(const PathName, FileName : string; const InDir : boolean);
var
Rec  : TSearchRec;
Path : string;
begin
Path := IncludeTrailingPathDelimiter(PathName);
if FindFirst(Path + FileName, (faAnyFile - faDirectory), Rec) = 0 then
 try
   repeat
      StringGrid1.Cells[0,StringGrid1.RowCount-1]:=path+Rec.Name;
      StringGrid1.Cells[1,StringGrid1.RowCount-1]:='';
      StringGrid1.Cells[0,StringGrid1.RowCount]:='Searching Files';
      StringGrid1.RowCount:=StringGrid1.RowCount+1;
      StringGrid1.Row:=StringGrid1.RowCount-1;
   until FindNext(Rec) <> 0;
 finally
   FindClose(Rec);
 end;
If not InDir then
  Exit;
if FindFirst(Path + '*.*', faAnyFile , Rec) = 0 then
 try
   repeat
   Application.ProcessMessages;
   if Length(Path+Rec.Name)<70 then
     Label1.Caption:='Scan Dir :  '+path+Rec.Name
   else
     Label1.Caption:='Scan Dir :  '+Rec.Name;
   if ((Rec.Attr and faDirectory)=faDirectory) and (Rec.Name<>'.') and (Rec.Name<>'..') then
     FileSearcher(Path + Rec.Name,FileName, True);
   until FindNext(Rec) <> 0;
 finally
   FindClose(Rec);
 end;
end; //procedure FileSearcher

تحتاج إلى عنصر StringGrade في الفورم

الشكر الجزيل لكل من ساعدني

تم تعديل هذه المشاركة بواسطة abazied في 23 سبتمبر 2005 في 16:48

هذا الموضوع مغلق.

مواضيع مشابهة