![]() |
|
كيف البحث عن ملف في حالة عدم وجوده بالمسار - نسخة قابلة للطباعة +- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum) +-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3) +--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15) +--- الموضوع : كيف البحث عن ملف في حالة عدم وجوده بالمسار (/showthread.php?tid=6850) الصفحات:
1
2
|
كيف البحث عن ملف في حالة عدم وجوده بالمسار - السوفي - 06-03-2015 السلام عليكم ورحمة الله وبركاته كيف معرفة مسار ملف محدد آليا بحيث يقوم البرنامج بالبحث عن الملف في حالة وجوده يظهره والا يظهر رسالة يخبرك انه مفقود وقد جربت استخدام هذه الدوال لكن لم تادي المرغوب فيه كود : [align=left]var
fullFileName : string;
begin
fullFileName := 'C:\Program Files\Unit1.dcu';
ShowMessage('Drive = '+ExtractFileDrive (fullFileName));
ShowMessage('Dir = '+ExtractFileDir (fullFileName));
ShowMessage('Path = '+ExtractFilePath (fullFileName));
ShowMessage('Name = '+ExtractFileName (fullFileName));
ShowMessage('Ext = '+ExtractFileExt (fullFileName));[/align]شكرا مقدما كيف البحث عن ملف في حالة عدم وجوده بالمسار - onexite - 06-03-2015 PHP كود : if FileExists(fileName)كيف البحث عن ملف في حالة عدم وجوده بالمسار - السوفي - 06-03-2015 اخي الفاضل حياك الله واثابك بحسن الجزاء لم افهمك ولم استوعب اجابتك فخذني على قدري ولو بتفصيل بسيط واسف على ازعاجكم مسبقا FileExists هذه الدالة لا تمكننا من البحث بل هي تاكد من الملف موجود ام لا، دالة تقوم بالبحث عن ملف ما فحين تجده تظهر مساره وان لم تجده تعود بفشل شكرا على تعاونك اخي الفاضل جزاك ربي بالغفران السلام عليكم كيف البحث عن ملف في حالة عدم وجوده بالمسار - مهند الرسيني - 06-03-2015 إذا سيتوجب عليك عمل حلقة تنتهي عندما تقوم بالتأكد من جميع الملفات التي في الهاردسك , ولا اضنها فكرة سديدة فهي تأخذ وقتاً كثيراً , ساكتب لك مثال غداً إن شاء الله . كيف البحث عن ملف في حالة عدم وجوده بالمسار - الكاسر الآخر - 06-03-2015 هذا أخي إجراء يقوم بالبحث عن ملف في مجلد معين مع إمكانية البحث داخل المجلدات الفرعية وهو يستخدم فكرة استدعاء الدالة لنفسها Recursif وتقوم بوضع مسار الملف في listbox كود : procedure TForm14.RecSearch(const sPathName, sFile : String; const subDir : Boolean);
var
sr : TSearchRec;
sPath : String;
begin
Application.ProcessMessages;
sPath:=IncludeTrailingBackslash(sPathName);
if FindFirst(sPath + sFile, faAnyFile - faDirectory, sr) = 0 then
repeat
listBox1.Items.Add(sPath + sr.Name); // send files into a ListBox
until FindNext(sr) <> 0;
FindClose(sr);
If not subDir then Exit;
if FindFirst(sPath + '*.*', faDirectory, sr) = 0 then
repeat
if ((sr.Attr and faDirectory) <> 0) and (sr.Name<>'.') and (sr.Name<>'..') then
RecSearch(sPath + sr.Name, sFile, True);
until FindNext(sr) <> 0;
FindClose(sr);
end;طريقة الاستدعاء RecSearch('c:\windows','File.dll', true); كيف البحث عن ملف في حالة عدم وجوده بالمسار - مهند الرسيني - 07-03-2015 السلام عليكم قمت بتجربة بسيطة لدالة FindAllDirectories بهذا الشكل : PHP كود : Memo1.Lines.AddStrings(FindAllDirectories('/')); لذلك إذا كنت تستطيع تحديد مسار معين يمكن ان يكون فيه الملف فهي أفضل وسيلة لستعمال هذه الدوال لتجنب كل تلك الأمور المذكورة سابقاً. كمثال ربما يوجد الملف المراد البحث عنه في مسار FilePrograms او Desktop فيمكن استعمال تلك الدوال بطريقة افضل . بالنسبة لمثال الأخ "الكاسر الأخير" فهي نفس العملية وكذلك لا انصحك بإستعمال Recursif لان الستاك سيكون ملئ فستحدث عدة مشاكل .. ملاحظة : استعملت لازارس على لينكس . كيف البحث عن ملف في حالة عدم وجوده بالمسار - محمد عبد العزيز - 07-03-2015 http://www.delphi4arab.net/forum/showthread.php?tid=1386 http://www.delphi4arab.net/forum/showthread.php?tid=2054 كيف البحث عن ملف في حالة عدم وجوده بالمسار - السوفي - 07-03-2015 السلام عليكم ورحمة الله وبركاته شكرا اخوتي الافاضل فقد افدتموني كثيرا وقد جربت وحدث ثقل للجهاز وتشنج لهذا طرحت السؤال لعلي اجد طريقة افضل مثل ما تستخدمه برامج الفخص او كما يفعله ويندوز نفسه حيث تكتب اسم الملف وهو يقوم بالبحث ولا ياخذ اجراء طويل يبدوا ان الامر معقد نوعا ما شكرا ساعتمد عاى تحديد مسار معين لاضع فيه مجلد القاعدة واجعل البرنامج يتاكد من وجد القاعده ليشتغل والا يتوقف عن العمل كما ساعتمد على نفس الفكره في وضع جداول التنقيط التي تسلم الاى الاساتذه لاقوم بسحب واستراد النقاط شكرا وبارك الله فيكم جميعا السلام عليكم كيف البحث عن ملف في حالة عدم وجوده بالمسار - Agmcz - 08-03-2015 السلام عليكم من طبيعي أن يحدث Freezing للفورم يمكن تجنب هذا بتشغيل هذا الإجراء في Thread منفصل أيضا أنا مستغرب :confused: لماذا تبحث عن ملف بكامل الهارد. هل السبب وجود إسمه فقط؟ إذا كان مساره موجود تحقق من وجوده وإنتهى الأمر إذا كان غير ذلك فوضح ماذا تريد بالضبط كيف البحث عن ملف في حالة عدم وجوده بالمسار - مهند الرسيني - 08-03-2015 إقتباس : يمكن تجنب هذا بتشغيل هذا الإجراء في Thread منفصل+1 إذا اردت محاكات ما تقوم به برامج الفحص و محرك البحث الخاص بيوندوز , استعمل Thread وقم بوضع أي نتيجه تحصل عليها في ListView اي ان الثريد سيقوم بواضع اي نتيجه في القائمة حتى وهو لم يتنهي من البحث . الثقل الذي يحصل لك امر طبيعي حتى انه يحصل مع برامج الفحص لكنها تستعمل Thread , وكما تعرف عندما تريد فحص كامل الجهاز ستستغرق العملية ساعات(حسب عدد الملفات) فلتجنب التهنيق في برنامجك قم بستعمال Thread ليقوم بإظهار النتائج الخاصة به بشكل فوري في TListView . |