الجديد

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

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

بعد أن يتعلم طلاب 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. لذلك دعونا نضيف موردًا بسيطًا إلى مشروع ونرى كيف يتم ذلك.

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

انتقل لأسفل القائمة والعثور عليها 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 (الفهرس ، التنسيق) عن أي شيء يصل إلى 64K

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

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

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

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

الخيار الفرعي الخاص 1_Click ()
Command1.Picture = _
LoadResPicture (101 ، vbResIcon)
Command1.Caption = _
"أرض"
نهاية الفرعية

الموارد المخصصة

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

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

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

قاتمة طويلة (10)
صفقات الشراء (1) = 123456
صفقات الشراء (2) = 654321

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

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

خافت hFile طالما
hFile = FreeFile ()
افتح _
"C: مسار الملف الخاص بك MyLongs.longs" _
لثنائي كما #hFile
ضع # ملف ، ، يتوق
أغلق # ملف

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

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

إعلان خاص للنشر الفرعي
Lib "kernel32" Alias ​​_
"RtlMoveMemory" (الوجهة كأي ، _
المصدر مثل أي ، طول ByVal طالما)

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

خافت بايت () كما بايت
البايت = LoadResData (101 ، "longs")

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

أطوال ReDim (من 1 إلى (UBound (بايت)) 4) طويل
أطوال CopyMemory (1) ، بايت (0) ، UBound (بايت) - 1

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

شاهد الفيديو: Learn Visual Basic in Arabic #147 - VB NET قائمة العرض list view tool add remove تعليم فيجوال بيسك (أغسطس 2020).