20-05-2010, 08:59 PM
انتهت مدة التمرين، ومن أراد المحاولة فله ذلك
قبل أن أطرح الفكرة هناك شيء أود أن أنبه عليه:
عندما قلت:
بل بمعنى أنه يستخدم ما توصلت إليه الخبرات السابقة ليحصل على نتيجة أفضل في وقت أقل بأقل جهد
ومن الخبرات السابقة التوابع والإجراءات التي توفرها مكتبة دلفي بما فيها VCL، توابع، إجراءات، أنماط...
ومن الأنماط TStringList الشهير الذي يحتوي على خاصية لكشف العناصر المكررة
يمكن أن نستغل هذه الخاصية مع إجراء للمرور على جميع ملفات الجذر بشكل Recursive مرة واحدة...
كيف ذلك؟
أولا ننشئ النمط ونجعله يرفض العناصر المكررة:
أجل dupError ليرفضها ويرسل رسالة خطأ!
ثم نمر من خلال جميع ملفات الجذر، وندفع البصمات (Hash) إلى DupList
لكنها ستثير خطأ عند تلقي نفس البصمة؟
يتبع...
قبل أن أطرح الفكرة هناك شيء أود أن أنبه عليه:
عندما قلت:
إقتباس :وتذكروا أن المبرمج المحترف مبرمج كسول!كسول ليس بمعنى أن لا يشارك :laugh:
بل بمعنى أنه يستخدم ما توصلت إليه الخبرات السابقة ليحصل على نتيجة أفضل في وقت أقل بأقل جهد

ومن الخبرات السابقة التوابع والإجراءات التي توفرها مكتبة دلفي بما فيها VCL، توابع، إجراءات، أنماط...
ومن الأنماط TStringList الشهير الذي يحتوي على خاصية لكشف العناصر المكررة
يمكن أن نستغل هذه الخاصية مع إجراء للمرور على جميع ملفات الجذر بشكل Recursive مرة واحدة...
كيف ذلك؟
أولا ننشئ النمط ونجعله يرفض العناصر المكررة:
PHP كود :
DupList := TStringList.Create;
DupList.Sorted := true;
DupList.Duplicates := dupError;
ثم نمر من خلال جميع ملفات الجذر، وندفع البصمات (Hash) إلى DupList
لكنها ستثير خطأ عند تلقي نفس البصمة؟
يتبع...
اللهم احقن دماء المسلمين، لا تنسوهم بالدعاء...

