ما هي التعليمات اللازمة من أجل بناء برنامج بحث عن الملفات مشابة لبرنامج البحث في ويندوز
على الأقل كيف يمكنني البحث عن المجلدات والملفات الفرعية
ما هي التعليمات اللازمة من أجل بناء برنامج بحث عن الملفات مشابة لبرنامج البحث في ويندوز
على الأقل كيف يمكنني البحث عن المجلدات والملفات الفرعية
شكرا لك
ووفقك الله
البرامج السابقة معقدة بالنسبة إلى
أذا ممكن
كيف يمكنني البحث عن ملف بواسطة اسمة في كامل الجهاز
أخي الفاضل لا أخفيك أن هذه البرامج معقدة( زيادة) وانا اطلعت عليها ولم أفهمهما جيدا ولكن الكود التالي يبحث في دليل الويندوز+ دليل البرنامج الحالي وهذا ما استطعت ايجاده في هذا المجال أرجو أن يفيدك
واتوقع أنه ببضعة تعديلات نستطيع اجراء بحث شامل ( من مساعدة ديلفي)
وانا بدوري أطلب من من لهم خبرة بهذا المجال مساعدتنا وشكرا
الكود هو
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 ؟؟؟؟ أنا مشوش قليلا بشأن هذا وارجو ان نعرف الحل
شكرا DeltaAziz
أرجو أن تظل معنا على الخط :lol: :lol: :lol: :lol: :lol:
اي حدا ممكن يساعدنا ؟؟
اقتباسعتقد ان GetWindowsDirectory هي المفتاح
أسف بل هيGetCurrentDir للمعلمومية وأرجو التصحيح ان كنت مخطئأ
مثال الأخ Zouhere Gerard يعمل فهو مثال من مساعدة دلفي
أخي Abazeid
إستخدم الدالة FindFirst وهذا مثال عنها
و إن أردت إستخدام بحث ويندوز فهذا مثال
فهل هذا ما تريد ؟
لقيت برنامج ولن المشكلة انه بعض المجلدات لا يبحث فيها حاولت معلافة السبب لكن لم استطع
ضع قيم البحث كالتالي
مجلد البحث c:\ ملف البحث folder.htt include subfolders=true
لاحظ أن الملف الموجود ضمن مجلد web في مجلد الويندوز لم يتم العثور عليه
بعد محاولات حثيثة هذا هو المطلوب
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
هذا الموضوع مغلق.