إنشاء واستخدام الموارد في Visual Basic 6

click fraud protection

بعد أن يتعلم الطلاب في Visual Basic كل شيء عن الحلقات والعبارات الشرطية والروتينات الفرعية وما إلى ذلك ، واحدة من التالية الأشياء التي غالبًا ما يسألون عنها هي "كيف يمكنني إضافة صورة نقطية أو ملف wav أو مؤشر مخصص أو بعض التأثيرات الخاصة الأخرى؟" واحد الإجابه هي ملفات الموارد. عند إضافة ملف باستخدام ملفات موارد Visual Studio ، يتم دمجها مباشرة في مشروع Visual Basic للحصول على سرعة التنفيذ القصوى والحد الأدنى من المتاعب التعبئة والتغليف والنشر الخاص بك تطبيق.

تتوفر ملفات الموارد في كل من VB 6 و VB.NET، لكن الطريقة التي يستخدمون بها ، مثل كل شيء آخر ، مختلفة تمامًا بين النظامين. ضع في اعتبارك أن هذه ليست الطريقة الوحيدة لاستخدام الملفات في مشروع VB ، ولكن لها مزايا حقيقية. على سبيل المثال ، يمكنك تضمين صورة نقطية في مربع صورة السيطرة أو استخدام mciSendString Win32 API. "MCI" عبارة عن بادئة تشير عادةً إلى سلسلة أوامر الوسائط المتعددة.

إنشاء ملف موارد في VB 6

يمكنك ان ترى الموارد في مشروع في كل من VB 6 و VB.NET في مستكشف المشاريع نافذة (مستكشف الحلول في VB.NET - كان عليهم جعلها مختلفة قليلاً). لن يحتوي المشروع الجديد على أي شيء لأن الموارد ليست أداة افتراضية في VB 6. لذا دعنا نضيف موردًا بسيطًا لمشروع ونرى كيف يتم ذلك.

instagram viewer

الخطوة الأولى هي بدء VB 6 عن طريق تحديد EXE قياسي مشروع على جديد علامة التبويب في مربع حوار بدء التشغيل. الآن حدد الوظائف الإضافية الخيار على شريط القوائم ، ثم مدير الوظيفة الإضافية ... سيؤدي هذا إلى فتح نافذة مربع حوار إدارة الوظائف الإضافية.

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

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

يدعم VB6

يدعم VB6 ما يلي:

  • محرر جدول سلسلة
    ("تحرير جداول السلاسل ...")
  • مؤشرات مخصصة - ملفات "CUR"
    ("إضافة مؤشر ...")
  • الرموز المخصصة - ملفات "ICO"
    ("إضافة رمز ...")
  • صور نقطية مخصصة - ملفات "BMP"
    ("إضافة صورة نقطية ...")
  • تعريف مبرمج الموارد
    ("إضافة مورد مخصص ...")

يوفر VB 6 محررًا بسيطًا للسلاسل النصية ، ولكن يجب أن يكون لديك ملف تم إنشاؤه في أداة أخرى لجميع الخيارات الأخرى. على سبيل المثال ، يمكنك إنشاء ملف BMP باستخدام برنامج Windows Paint البسيط.

يتم تحديد كل مورد في ملف المورد إلى VB 6 بواسطة هوية شخصية واسم في محرر الموارد. لتوفير مورد لبرنامجك ، يمكنك إضافته في محرر الموارد ، ثم استخدام المعرف والمورد "النوع" للإشارة إليهما في البرنامج. دعنا نضيف أربعة رموز إلى ملف الموارد ونستخدمها في البرنامج.

عند إضافة مورد ، يتم نسخ الملف الفعلي نفسه إلى مشروعك. يوفر Visual Studio 6 مجموعة كاملة من الرموز في المجلد ...

C: \ Program Files \ Microsoft Visual Studio \ Common \ Graphics \ Icons

للتوافق مع التقاليد ، سنختار "العناصر" الأربعة للفيلسوف اليوناني أرسطو - الأرض والماء والهواء والنار - من دليل العناصر الفرعي. عند إضافتها ، يتم تعيين المعرّف بواسطة Visual Studio (101 و 102 و 103 و 104) تلقائيًا.

لاستخدام الرموز في البرنامج ، نستخدم وظيفة "تحميل المورد" VB 6. هناك العديد من هذه الوظائف للاختيار من بينها:

  • LoadResPicture (فهرس ، تنسيق) للصور النقطية والرموز والمؤشرات

استخدم ثوابت VB المحددة مسبقًا vbResBitmap للصور النقطية ، vbResIcon للرموز و vbResCursor لمؤشرات "تنسيق" المعلمة. تقوم هذه الوظيفة بإرجاع صورة يمكنك استخدامها مباشرة. LoadResData (موضح أدناه) يُرجع سلسلة تحتوي على البتات الفعلية في الملف. سنرى كيفية استخدام ذلك بعد عرض الرموز.

  • LoadResString (فهرس) للسلاسل
  • LoadResData (فهرس ، تنسيق) لأي شيء يصل إلى 64 كيلو

كما ذكرنا سابقًا ، تقوم هذه الدالة بإرجاع سلسلة مع البتات الفعلية في المورد. هذه هي القيم التي يمكن استخدامها لمعلمة التنسيق هنا:

1 مورد المؤشر
2 مورد الصورة النقطية
3 رمز المورد
4 مورد القائمة
5 مربع حوار
6 مورد سلسلة
7 مورد دليل الخطوط
8 مورد الخط
9 طاولة مسرع
10 مورد يحدده المستخدم
12 مؤشر المجموعة
14 أيقونة المجموعة

نظرًا لأن لدينا أربعة رموز في ملف موارد AboutVB.RES ، فلنستخدمها LoadResPicture (فهرس ، تنسيق) لتعيين هذه الخاصية إلى خاصية صورة CommandButton في VB 6.

قمت بإنشاء تطبيق مع أربعة زر الخيارات المكونات المسماة الأرض والماء والهواء والنار وأربعة أحداث للنقر - واحد لكل خيار. ثم أضفت زر الأوامر وغيرت خاصية النمط إلى "1 - رسومية". يعد ذلك ضروريًا حتى تتمكن من إضافة رمز مخصص إلى CommandButton. يبدو رمز كل OptionButton (وحدث تحميل النموذج - لتهيئته) كما يلي (مع تغيير المعرف والتسمية التوضيحية وفقًا لأحداث OptionButton Click الأخرى):

موارد مخصصة

إن "الصفقة الكبيرة" مع الموارد المخصصة هي أنه يتعين عليك عادةً توفير طريقة لمعالجتها في التعليمات البرمجية للبرنامج. مثل مايكروسوفت تنص على ذلك ، "يتطلب هذا عادةً استخدام مكالمات Windows API." هذا ما سنفعله.

المثال الذي سنستخدمه هو طريقة سريعة لتحميل مصفوفة بسلسلة من القيم الثابتة. تذكر أن ملف المورد مضمن في مشروعك ، لذلك إذا كانت القيم التي تحتاج إلى تحميلها التغيير ، سيكون عليك استخدام نهج أكثر تقليدية مثل ملف تسلسلي تفتحه و اقرأ. واجهة برمجة تطبيقات Windows التي سنستخدمها هي CopyMemory API. CopyMemory نسخ كتلة الذاكرة إلى كتلة مختلفة من الذاكرة بغض النظر عن نوع البيانات المخزنة هناك. هذه التقنية معروفة جيدًا لـ VB 6'ers كطريقة فائقة السرعة لنسخ البيانات داخل البرنامج.

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

Long dims (10) طالما
صفقات (1) = 123456
يتوق (2) = 654321

... وهكذا دواليك.

ثم يمكن كتابة القيم إلى ملف يسمى MyLongs.longs باستخدام عبارة "ضع" VB 6.

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

لاستخدام ملف المورد الذي قمت بإنشائه لإنشاء صفيف جديد ، قم أولاً بتعريف استدعاء Win32 CopyMemory API:

ثم اقرأ ملف الموارد:

بعد ذلك ، انقل البيانات من صفيف البايت إلى صفيف من القيم الطويلة. تخصيص صفيف لقيم longs باستخدام القيمة الصحيحة لطول سلسلة البايت مقسومة على 4 (أي 4 بايت لكل طويل):

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

instagram story viewer