منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : [مسابقة الخوارزمية 3] - الجولة الرابعة
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2 3 4 5 6
ها هو ملف تنفيذى
السلام عليكم

شكرا لك اخي اسلام

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

يعطيك العافية
(14-01-17, 12:20 AM)abulayth كتب : [ -> ]
(13-01-17, 10:18 PM)Fantastico كتب : [ -> ]لقد أحبطتني بهذا القرار استاذنا العزيز  Sad

لكن على كل حال ما هو تقييمك للبرنامج
هل يفي بالمطلوب  Smile

شكرا لك على جهدك

الواقع ان البرنامج يعمل بشكل جيد

رغم ان عملية الضغط استغرقت 3 ساعات تقريبا
وايضا عندي استفسار
هل البرنامج يقوم بتخزين اية بيانات مستقلة في مكان اخر غير الملف المضغوط تساهم هذه البيانات في اتمام العملية
يعطيك العافية

لا لا إطلاقا
يمكنك نسخ الملف المضغوط الى حاسوب آخر وفك الضغط للتأكد
كانت المشكلة فقط في بطء التنفيذ
بارك الله فيك

الرجاء ارفاق السورس لكي تعم الفائدة على الجميع فالهدف من المسابقة هو التعليم و التعلم

شكرا لك مرة اخري

يعطيك العافية
سعيد أن البرنامج صحيح  Big Grin

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

اما عند فك الضغط
ناخذ المفاتيح وما تشير اليه من سلاسل المعلومات المكررة
ثم نعود لنضع مكان كل مفتاح السلسلة التي يشير اليها
إقتباس :قمت بالتجربة ولكن حجم ملف قاعدة البيانات كان كبير جدا 38 ميجا تقريبا

طبعآ أنت تعلم والجميع يعلم أن حجم ملف قاعدة البيانات كان كبير جدا بنفس هذا الحجم تقريبآ حتى لو لم توضع فى الجدول أى بيانات
فحجم الملف الأصلى كان 541كيلو فقط ووضعت فى قاعدة البيانات أقل من نصف بياناته حوالى 200 كيلو فقط
ولكم ألف شكر
أرجو منك ما دمت جربت البرنامج وتأكدت من صحته (سواء على نفس الفولدر أو على ىأى فولدر آخر)
أن تفتح السورس (المرفق السابق لى) وتتأكد بنفسك من أن قاعدة البيانات لم ألجأ اليها الا من أجل احتمال نقل الملف المضغوط لأى فولدر آخر قبل فك ضغطه
أما لو أن عملية ضغط الملف ثم فك الضغط كانت ستتم فى نفس المكان فلا حاجة لقاعدة البيانات اطلاقآ
تأكد من ذلك بالكود وستجد أن المتغير XDEL(Nstr)  (المعبر عن الجزء المحذوف من الأسطر الغير مكررة) كان كافيآ للقيام بالدور
وتأكد من ذلك عمليآ بحذف قاعدة البيانات من الفولدر وتشغيل البرنامج بدونها
استكمالا لهذه الجولة

ارفق لكم خوارزمية لضغط البيانات من اعداد المنتدى

يعطيكم العافية
الصفحات : 1 2 3 4 5 6