إقتباس :لايوجد خلل ! الاجراء يبحث في جميع المجلدات الفرعية .أجل، بدا لي كأنه يبحث في المجلدات الفرعية بمستوى واحد فقط.
-الاجراء يقوم بالبحث في الملفات الموجودة في مجلد ما بعدما ينتهي يفحص اذا كان هناك مجلد فرعي وهكذا
تحقق من GetDeplicateFile فيها خلل، أيضا حاول التقليل من المتغيرات في GetDeplicateFile.
-----
...نواصل:
قلنا أن DupList ستثير Exception حال إضافة نفس الـ Hash
كود :
DupList.Duplicates := dupError;كود :
[color=Blue]try[/color]
MD5Hash := MD5Print(MD5File(directory+search.Name));
FileList.Add(directory + search.Name);
[color=Red] DupList.Add(MD5Hash);[/color]
[color=Blue]except[/color]
DupItem := fmain.lvDupFiles.Items.Add;
DupItem.Caption := search.Name;
DupItem.SubItems.Add(IntToStr(search.Size));
DupItem.SubItems.Add(MD5Hash);
DupItem.SubItems.Add(directory+search.Name);
[color=Blue]end[/color];
فيما يخص رسالة الخطأ أثناء تنقيح البرنامج، يمكن تجاوزها من Tools ثم Debugger Options ونضيف الصنف EStringListError ضمن القائمة من التبويب Language Exceptions
-----
يمكن بفكرة مبسطة كهذه تطوير برنامج متكامل بإضافة خيارات أخرى...
غالب برامج البحث عن الملفات المكررة تعتمد على خيار البحث بالمحتوى باستخدام بصمات CRC32, MD5, SH1, HAVAL ... و/أو خيار البحث بتطابق بالاسم وحجم الملف، وتوفر خيارات إضافية للفرز (حسب التاريخ، وحجم الملفات وخصائصها...)
ثم تقدم خدمات متقدمة لبعض العمليات على الملفات (نقل، حذف، نسخ...)، ومن الخيارات أيضا: إقصاء مجلدات/لواحق ملفات، معاينة الملفات وعرض الصور، وغير ذلك... مع خيار لحفظ واسترجاع مشروع البحث... كنت سأقترحه لمشروع جماعي لو تقدم العمل

شكرا لكم جميعا :bye1:.
اللهم احقن دماء المسلمين، لا تنسوهم بالدعاء...

