الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

هل فكرت في دمج ملفات وقت التنفيذ داخل الملف التنفيذي للبرنامج؟

بدأه عاطف قشيشة في 15 أغسطس 2008 · 6 رد · 2,669 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بعد طول غياب عن منتديات الفريق العربي للبرمجة، فقدت معه عضويتي في المنتدى، وغياب طويل عن عالم البرمجة، شعرت اليوم بحنين إلى زيارة هذا المنتدى العزيز ورواده المحببين إلى نفسي، والقيام بعمل متواضع قد يشفي بعض حنيني.

وبعد تفكير هداني عقلي إلى هذا الموضوع الحيوي للمبرمج عامة، وللمبرمج الذي يعمل على لغة فيجوال بيسيك خاصة.

فنظرا للمواقف الصعبة والمحرجة التي قد يتعرض لها المبرمج عند تسليمه للبرامج التي قام بتصميها إلى العميل الذي صممها له، مما قد يجعل جبينه يتصبب عرقاً في ليالي الشتاء الباردة، عندما يفاجأ بأن برنامجه لم يعمل على جهاز العميل، وأنه لن يستطيع تسليمه البرنامج الذي أتى من أجل تسليمه إليه، يبدأ المبرمج عادة في البحث عن حلول تحميه من مثل تلك المواقف.

وأول هذه الحلول مبادرة إلى ذهنه: أن يقوم بعمل برنامج لتنصيب برنامجه على جهاز العميل.. لكنه بعد فترة يكتشف العديد من الصعوبات في هذا الحل:

منها: أن العميل عادة لا يكون مهيأ نفسياً لقبول أعباء أخرى تضاف إلى عبء تعلمه لاستخدام البرنامج الذي هو بصدد تسلمه، خاصة إذا كان لا يجيد استخدام الكمبيوتر كما يحدث غالبا، ويخشى من تعرضه لاارتكاب الأخطاء.

ومنها: أن المبرمج بهذه الطريقة قد أضاف لنفسه عملاً روتينياً آخر يقوم به عند عمل كل برنامج.

ومنها: أن معظم هذه البرامج لا تتسم بالتوافق مع أنظمة التشغيل بإصداراتها المختلفة والتي تتغير يوماً بعد يوم.

ومنها: أن هذه الطريقة لا تتناسب مع أعمال الملتيمديا واسطوانات التشغيل التلقائي.

ومن الحلول التي تتبادر إلى ذهن المبرمج: أن يقوم بعمل أكواد واستخدام الموارد المتاحة في لغتنا البرمجية (Resources) لدمج ملفات وقت التشغيل (Runtime files)، وأكواد للتعامل مع سجل النظام (Registry)، وغير ذلك مما يعود عليه بالكثير من الأضرار:

فمنها: إضافة أعباء ثقيلة وشديدة الدقة على المبرمج مما يعرضه للإرهاق المتكرر مع كل برنامج، ويعرضه للخطأ شديد الاحتمال، الذي قد يعيده إلى نقطة البداية، وكأنك يا ابو زيد ما غزيت، ولا رحت ولا جيت.

ومنها: أن لغتنا البرمجية العزيزة تحتاج إلى مكتبتها الأساسية موجودة في مجلد النظام أو مجلد البرنامج، ولا يمكن دمجها بهذه الطريقة، مما قد يصيب المبرمج بشيء من الإحباط.

لذا يبقي هذا الحل الأمثل الذي نحن بصدده، ألا وهو استخدام برامج الدمج لدمج ملفات وقت التنفيذ داخل الملف التنفيذي للبرنامج.

لذا فقد اخترت اليوم برنامجاً قد يكون معروفاً لبعض المبرمجين، لكنه أكثر من قوي ورائع.

البرنامج يسمى Fusion

هذا البرنامج يتميز بعدة مميزات تختلف عن غيره:

- أنه مجاني ولا يحتاج إلى شراء أو تسجيل.

- أنه بسيط وسهل الاستخدام.

- والأهم من هذا أنه يحتوي على إمكانات يتميز بها، منها: أنه يقوم بتحديد ملفات وقت التنفيذ التي يستخدمها برنامجك بشكل تلقائي بمجرد تحديد برنامجك الذي تريد معالجته، ومنها: أنه بمكنك من خلال هذا البرنامج إضافة ما تشاء من هذه الملفات لبرنامجك، ومنها: أنه يقوم بضغط كل الملفات التي يدمجها داخل برنامجك، بالإضافة للملف التنفيذي نفسه أيضاً، لتقليل حجم الملف الناتج عن عملية الدمج بدرجة كبيرة، ومنها: أنه يقوم بكل بكل الإجراءات التي تحتاجها هذه الملفات من استخراج إلى مجلد النظام والتعامل مع سجل النظام تلقائياً وقت التنفيذ.

لهذا أنصح كل المبرمجين الزملاء بشدة باستخدام هذا البرنامج.

وهذا شرح مبسط للبرنامج أقدمه لمن لا يعرف هذا البرنامج، وإن كان لا يحتاج إلى شرح، ولكنه إجراء روتيني أقوم به لاستكمال الموضوع ليس إلا:

post-168307-1218803191_thumb.jpg

<div align="right">

post-168307-1218803469_thumb.jpg

<div align="right">

أولا: قم باختيار املف التنفيذي لبرنامجك من خلال زر الفتح المرفق بعبارة "EXE, OCX, DLL or Screen Saver to process".

post-168307-1218803481_thumb.jpg

<div align="right">

ثانيا: قم بتحديد الملف الناتج من خلال زر الحفظ المرفق بعبارة "Output to filename".

post-168307-1218803492_thumb.jpg

<div align="right">

ثالثا: قم بالنتقال إلى علامة التبويب "Depencies" لرؤية الملفات التي تمت إضافتها تلقائياً بواسطة البرنامج، والتعديل في هذه القائمة بالإضافة والحذف كما تشاء مع توخي الدقة والحذر حتى لا تقوم بحذف ملف من الملفات التي يستخدمها برنامجك، وللقيام بذلك استخدم الأزرار المتوفرة للإضافة والإزالة ومسح القائمة.

post-168307-1218803504_thumb.jpg

<div align="right">

رابعاً وأخيراً: قم بالانتقال إلى علامة التبويب "Progress" ليقوم البرنامج بإنهاء العملية.</div>

وأخيراً وليس آخراً: هناك بعض الملاحظات التي أود التنبيه إليها:

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

ثانياً: لا يتم دمج ملفات غير مكتبات الربط الديناميكية والأدوات فقط. لذا لا يمكنك دمج مكتبات النوع كالتي تستخدمها قواعد البيانات في تشغيل محرك قاعدة البيانات، لذا عليك استخدام طرق أخرى لهذه المهمة، وأنا أقوم باستخدام الموارد والأكواد لهذا.

وهذا هو البرنامج لمن لا يمتلكه:

fusion.zip

أرجو من الزملاء الأعزاء مشكورين أن يقبلوا مني هذا العمل المتواضع، لعله يعجبهم فيما بعد ولهم مني أخلص التحيات.

</div>

</div>

</div>

</div>

تم تعديل هذه المشاركة بواسطة عاطف قشيشة في 15 أغسطس 2008 في 15:57

كان الله في عون العبد ما كان العبد في عون أخيه

qushisha@yahoo.com

#2

شكراً على زيادة الشرح أخ عاطف قشيشة،

مواضيع قديمة ذات صلة بالبرنامج:

/index.ph...hlite=%2Bfusion

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#3

مشكور اخى الكريم -- جارى التجربة

جعلها الله فى ميزان حسناتك

كن كالنخيل عن الأحقاد مرتفعا .. يرمى بصخر فيرمى أطيب الثمر

#4

شكرًا جزيلاً أخي عاطف ،

بداية موفقة

اقتباس
بعد طول غياب عن منتديات الفريق العربي للبرمجة، فقدت معه عضويتي في المنتدى، وغياب طويل عن عالم البرمجة، شعرت اليوم بحنين إلى زيارة هذا المنتدى العزيز ورواده المحببين إلى نفسي، والقيام بعمل متواضع قد يشفي بعض حنيني.
كيف فقدت عضويتك ؟

تم تعديل هذه المشاركة بواسطة المبرمج أحمد في 15 أغسطس 2008 في 16:46

سبحان الله وبحمده ... سبحان الله العظيم

#6
المبرمج أحمد كتب:
شكرًا جزيلاً أخي عاطف ،

بداية موفقة

كيف فقدت عضويتك ؟

شكراً جزيلاً على المرور أخي أحمد، فقدت عضويتي نتيجة تغيبي الطويل عن المنتدى، شكراً مرة أخرى.

كان الله في عون العبد ما كان العبد في عون أخيه

qushisha@yahoo.com

#7

الشكر الجزيل للأخ عاطف قشيشة على مجهوداته تقبل الله منك وجعلها في ميزان حسناتك آمين يارب العالمين

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…