المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : هل من طريقة تقليص حجم البرنامج ؟


مبتدأ جدا
06-01-2009, 12:34 AM
السلام عليكم..

-ربما يعاب على الدلفي كبر حجم النوافذ-فورم بكود او كودين بــ400كيلو!!- رغم أنك تحاول دوما استخدام أقل عدد ممكن من الوحدات...فهل من طريقة لتقليص حجم الفورمات؟

me&delphi
06-01-2009, 01:07 AM
ليس حجم النوافد بل كلما استخدمت وحدات أكتر زاد حجم الملف التنفيدي

هناك عدة برامج ضغط لتقليص حجم الملف التنفيدي...

راجع قوانين المنتدى واستعمل زر البحث قبل أنت تسأل

AL-MOB4RM3G
06-01-2009, 06:25 AM
نعم اخي الكريم...
راجع الدورة بارك الله لك...

فقد تم النقاش حول هذا...

كان البرنامج على ما اعتقد اكبر من 550 كب...
ولكن الأخ المشرف قللصه الى 15 كب والله تعلى اعلم... طبعا حسب ما اذكر...
فراجع الدورة بارك الله فيك... وبلأخص الدرس الثاتي... بارك الله لك.

والسلام عليكم

sandokhane
08-01-2009, 09:56 PM
أقترح استعمال أحد البرامج التالية لضغط الملف التنفيذي exe

Upx : وهو مجاني ، نسبة الضغط لا بأس بها ..للحصول على أقصى ضغط يتطلب بعض الوقت (أحيانا أكثر من 10دقائق)
الإستعمال : upx program.exe -9 يمكن استعمال best-- أو brute-- أو حتى upx --ultra-brute program.exe للحصول على ضغط أقصى .... الموقع من هنا http://upx.sourceforge.net/

BitSum PECompact : أظن أنه الأحسن...نسبة ضغط جد مرتفعة مع سرعة هائلة وسهولة في الإستعمال.
لكن هو غير مجاني. الموقع الرسمي من هنا http://www.bitsum.com/pecompact.php



بالتوفيق...

مبتدأ جدا
08-01-2009, 10:32 PM
أخي ساندوخان ... سؤالي كيف يكون التقليص برمجيا يعني بدلفي.. وهذا لم يمنعني من تحميل البرنامج..
جوزيت خيرا ...

sandokhane
09-01-2009, 12:36 AM
أخي ساندوخان ... سؤالي كيف يكون التقليص برمجيا يعني بدلفي.. وهذا لم يمنعني من تحميل البرنامج..
جوزيت خيرا ...
الله أعلم ..ولكن حسب علمي البرامج المطورة بدلفي تكون ذات أحجام كبيرة نظرا لعدم استعمال دالفي لمكتبة dll مثل ما يفعل vb...
لكن رغم هذا هنالك بعض الخطوط الكبيرة التي يمكن احترامها لإنقاص حجم الملف exe ...فمثلا نقوم أحيانا بإضافة مكون ما إلى الفورم ، مثلا من مكتبة jvcl نضيف زر jvBitBtn سنلاحظ أنه في ال uses ستضاف JvExButtons, JvBitBtn....هذا يعني أن الوحدتين JvExButtons.dcu و JvBitBtn.dcu ستدمجان في الملف exe ... فإذا حذفنا الزر بعد ذلك فإننا سنلاحظ أن الوحدتين JvExButtons و JvBitBtn لا زالتا في الuses..

B.M.AbdelAziZ
09-01-2009, 11:31 AM
لتصغير حجم البرنامج عليك البرمجة دون استخدام مكونات VCL
استخدام Win32 API فقط، وهو اسلوب برمجة (ليس اسهل من VCL)

والسلام عليكم

مبتدأ جدا
10-01-2009, 06:56 PM
sandokhane
dll تستخدم في كل لغات البرمجة .. يعني احذف الوحدتين من use وانتهى ... جوزيت خيرا.
DeltaAziz
اها..أدري هذا... طيب لي سؤال : هل استخدام WinDows أفضل-من ناحية الحجم طبعا- مناستخدام shellapi

B.M.AbdelAziZ
10-01-2009, 08:08 PM
هل استخدام windows أفضل-من ناحية الحجم طبعا- مناستخدام shellapi

الامر متعلق بما تريد برمجته

مبتدأ جدا
10-01-2009, 08:29 PM
¨¨جازاك الله خيراا... لو توضحلي أكثر ماجاء ماتقدمت به في الملف المرفق..

B.M.AbdelAziZ
10-01-2009, 08:44 PM
المرفق ليس لي وانما لNico Benglins
http://www.bendlins.de/nico/delphi/MiniDExe.zip
وهو اصغر ملف تنفيذي مكتوب بدلفي
ارفقته لكي تعرف انه يمكن البرمجة بدون استخدام VCL
بدون الوحدة windows وبوحدات system بديلة شبه فارغة بها فقط الازم لارضاء الCompiler

مبتدأ جدا
10-01-2009, 10:10 PM
بارك الله بك وفيك أيها العزيز...
منكم نتعلم.

kachwahed
11-06-2010, 07:46 PM
وهو اصغر ملف تنفيذي مكتوب بدلفي
ليس تماما...
ما يقارب 4 كيلو لأجل MessageBox كثير...
Borland طورت Linker ينتج obj أضخم
باستخدام Linker من Microsoft يمكن الوصول إلى ما يقارب 1 كيلو
برمجة n0v4
http://sites.google.com/site/delphibasics/home/delphibasicsarticles/smallapplicationsindelphibyn0v4

Benhlell
30-06-2010, 09:13 AM
له من للممكن دروس حول الوحدة windows رغم اهمتها الى اننا لانستغل منها سوى 1%