يعد Visual Basic for Windows 3.0 (المشار إليه باسم VB) حاليًا أحد أكثر الأدوات فعالية لتطوير برامج تطبيقات WINDOWS، فهو يستخدم لغة BAIC وأدوات التصميم المرئي الجديدة بشكل شامل، وهو ليس قويًا فحسب، بل سهل التعلم أيضًا. ثانيًا، يحتوي VB على آلية برمجة تعتمد على الأحداث، والتي تستفيد بشكل كامل من خصائص البيئة الرسومية لـ WINDOWS وتسمح للمطورين ببناء تطبيقات قوية بسرعة.
فكيف يمكن توسيع وظائف VB بشكل كامل عند تطوير برنامج تطبيق VB؟ وهذا يتطلب حسن استغلال أقوى وأميز أجزاء لغة VB على مختلف المستويات:
●اتصل بمكتبة الارتباط الديناميكي في طبقة الوظيفة.
●استخدم VBX في طبقة التحكم. ●تنفيذ تطبيقات أخرى في طبقة التطبيق.
1. اتصل بمكتبة الارتباط الوظيفي (DLL) في الطبقة الوظيفية
يتكون نظام التشغيل WINDOWS في الواقع من العديد من مكتبات الارتباطات الديناميكية القوية (DLLs). يعتبر VB أن بعض المهام تتجاوز قدرات لغته الخاصة، لذلك فهو يوفر القدرة على استدعاء إجراءات DLL الفرعية مباشرة في نظام التشغيل. على سبيل المثال: في الظروف العادية، توفر قائمة التحكم في النافذة سبع وظائف: الاستعادة والنقل والحجم والتصغير والتكبير والإغلاق والتبديل. في التطبيقات الفعلية، نأمل أن يتم عرض النافذة وفقًا للحجم المصمم، ولا يُسمح للمستخدمين بتغيير حجم النافذة حسب رغبتهم، ولا يُسمح لهم بالتبديل إلى نوافذ أخرى. وهذا يتطلب حذف قائمة التحكم أثناء التصميم باستثناء خيار "نقل" و"إغلاق". لإنجاز هذه المهمة، يمكننا أولاً تعيين خاصية MaxButton وخاصية MinButton للنموذج على False، مما لن يسمح بتصغير النموذج وتكبيره، ولا يمكن استعادة النموذج. ثم قم بتعيين الخاصية Bordersstyle للنموذج إلى 1-FixedSingle أو 3-FixedDouble، مما لا يسمح للنموذج بتغيير الحجم. لكن VB نفسه لا يمكنه حذف خيار "التبديل" والخطين الفاصلين. لحسن الحظ، من السهل القيام بذلك عن طريق استدعاء WINDOWSDLL.
عادةً، لاستخدام WINDOWSDLL، يجب عليك أولاً تحديد روتين DLL الفرعي الذي سيتم استخدامه. يمكننا تحديد روتين DLL الفرعي المستخدم في مكانين، أي في الوحدة النمطية العامة، أو في جزء الوصف من طبقة النموذج. تنسيقه هو:
DeclareSub اسم الروتين الفرعي Lib "اسم المكتبة" [الاسم المستعار "الاسم المستعار"] [([المعلمة])]
DeclareFunction اسم الروتين الفرعي Lib "اسم المكتبة" [الاسم المستعار "الاسم المستعار"] [([المعلمة])] [نوع البيانات AS]
يشير التنسيق الأول إلى أن الإجراء لا يحتوي على قيمة إرجاع، ويشير التنسيق الثاني إلى أن الإجراء يُرجع قيمة يمكن استخدامها في التعبيرات. إذا كان اسم المكتبة مكتبة في بيئة تشغيل WINDOWS (في دليل النظام)، مثل "USER .EXE" أو "KERNEL.EXE" أو "GDI.EXE" وما إلى ذلك، استخدم هذا الاسم كاسم للمكتبة. إذا كنت تستخدم ملف DLL من مصادر أخرى، فاستخدم اسم الملف بما في ذلك المسار (على سبيل المثال: "C:WINDOWSBRUSH.DLL"). الاسم المستعار (الاسم المستعار) يسمح باستخدام أسماء أخرى لاستدعاء البرامج الفرعية، وهو مفيد بشكل خاص عندما يكون اسم البرنامج الفرعي الأجنبي هو نفس كلمة VB المحجوزة يشير البرنامج الفرعي إلى نوع بيانات قيمة إرجاع الدالة، والتي قد تكون عددًا صحيحًا أو طويلًا أو فرديًا أو مزدوجًا أو عملة أو سلسلة. فيما يلي وصف للروتين الفرعي DLL الذي سيتم استخدامه:
DeclareFunctionGetSystemMenu%Lib"المستخدم"(ByValhWnd%,ByValbRevert%)
قم بتعريفfunctionRemoveMenu%Lib"User"(ByValhMenu%، ByValnPosition%، ByValwFlags%)
بعد وصف الروتين الفرعي DLL، فإن طريقة تنفيذ الروتين الفرعي DLL هي نفس طريقة تنفيذ الإجراء العام (الوظيفة) في VB. بعد ذلك، نكتب عملية باسم Remove-Items-From-System لإكمال الوظائف المذكورة في المثال أعلاه. في هذه العملية، يُطلق على روتيني DLL الفرعيين الموضحين أعلاه:
إزالة العناصر من قائمة النظام (A-FormAsForm)
"احصل على جملة قائمة نظام النموذج Bing."
HSysMenu=GetSystemMenu(A-Form.hWnd, 0)
'حذف كافة عناصر القائمة باستثناء "نقل" و"إغلاق"، يجب أن تبدأ من العنصر الأخير في القائمة عند الحذف
R=RemoveMenu(HSysMenu,8,MF-BYPOSITION)'مفتاح الحذف
R=RemoveMenu(HSysMenu,7,MF-BYPOSITION)'حذف السطر الفاصل الأول
R=RemoveMenu(HSysMenu,5,MF-BYPOSITION)'إزالة الخط الفاصل الثاني
EndSub
باستخدام هذه العملية، يمكن أن يؤدي إضافة السطر التالي من التعليمات البرمجية إلى حدث تحميل النموذج لأي نموذج إلى حذف كافة عناصر قائمة التحكم الخاصة بالنموذج باستثناء خياري "نقل" و"إغلاق":
إزالة العناصر من SysmenuMe
2. استخدم VBX في طبقة التحكم
الجزء الثاني من وظيفة VB القوية هو استخدام VBX، أي انفتاحه وخصائص التوسع غير المحدودة. على الرغم من أن صندوق أدوات VB (ToolBox) قد بذل قصارى جهده ليشمل الأدوات المطلوبة لتصميم البرامج التطبيقية، من أجل توسيع وظائف VB بشكل مستمر، يوفر VB مجموعة من أدوات التطوير (CustomControlDevelopmentKit) لمطوري الطرف الثالث لتصميم البرامج المطلوبة. الضوابط. بعد تصميم ملف التحكم (امتداد الملف هو ".VBX")، يمكنك تحديد الأمر "AddFile..." من عنصر "ملف" القائمة، ونتيجة لذلك، سيظهر مربع حوار "AddFile" على الشاشة انقر نقرًا مزدوجًا فوق VBX المطلوب. يمكن استخدام اسم الملف لإضافة VBX إلى VB بعد تحميل عناصر التحكم هذه إلى VB، سيقوم VB بإضافة عناصر التحكم الخارجية هذه إلى صندوق الأدوات الأصلي ودمجها مع عناصر التحكم الأخرى. بفضل هذه التقنية على وجه التحديد، يمكن لـ VB الاستمرار في التطوير، وأصبحت البرمجة باستخدام VB أكثر ملاءمة وأسرع وأكثر فعالية. وهذه إحدى الميزات الرئيسية لـ VB التي تميزها عن بيئات تطوير البرامج الأخرى. منذ إطلاق VB، قامت شركات البرمجيات الخارجية بتصميم عدد كبير من عناصر التحكم الجديدة، وإليك العديد من VBX المفيدة جدًا عند تطوير تطبيقات WINDOWS:
● التحكم ثلاثي الأبعادThreed.vbx
وهو يوفر ستة عناصر تحكم ثلاثية الأبعاد بما في ذلك أزرار الأوامر وخانات الاختيار وأزرار الاختيار والإطارات وأزرار الضغط واللوحات. يمكن أن يؤدي استخدام عناصر التحكم هذه إلى جعل النموذج ثلاثي الأبعاد.
● التحكم بالرسومات Graph.vbx
بعد إرسال البيانات إلى عنصر التحكم الرسومي، يمكن لعنصر التحكم الرسومي رسم مخططات دائرية ثنائية أو ثلاثية الأبعاد، ورسوم بيانية، ومخططات الاتجاه، ويمكن طباعتها أو نسخها إلى الحافظة.
● التحكم بالاتصالات Mscomm.vbx
يوفر إمكانات الاتصال التسلسلي ويمكن استخدامه لنقل واستقبال البيانات بين المنافذ التسلسلية.
● التحكم في شبكة البيانات Truegrid.vbx
يمكن استخدامه كجدول عرض بيانات عام، أو يمكنه توصيل قاعدة بيانات وشبكة، وهو أداة مثالية لإنشاء متصفحات قواعد البيانات أو عرض البيانات.
2. قم بتنفيذ التطبيقات الأخرى في طبقة التطبيق
عند تجميع البرامج المعقدة واسعة النطاق، غالبًا ما نحتاج إلى بعض البرامج الخاصة ذات وظائف مستقلة وكاملة نسبيًا، مثل برامج التحرير، وعادةً ما تكون هذه البرامج عالمية وشائعة وتم اختبارها عمليًا. إذا أعاد المطورون كتابة هذه البرامج، فلن يزداد عبء عمل البرنامج وعملية تصحيح الأخطاء بشكل كبير فحسب، بل سيكون من الصعب أيضًا مطابقة وظائف هذه البرامج العامة. من الواضح أنه سيكون مثاليًا لو تمكنا من استدعاء هذه البرامج مباشرة. لحسن الحظ، يوفر VB وظيفة Shell التي يمكن استخدامها لاستدعاء تطبيقات أخرى، بحيث يمكن إكمال بعض وظائف VB مباشرة بواسطة تطبيقات أخرى، مما يقلل بشكل كبير من مهام البرمجة.
التنسيق هو Shell (سلسلة الأوامر [، نوع النافذة])
سلسلة الأمر هي اسم التطبيق الذي سيتم تنفيذه. يقتصر امتداد الملف القابل للتنفيذ على ".COM"، و".EXE"، و".BAT"، و".PIF". والامتداد الافتراضي هو ملف .EXE. نوع النافذة هو قيمة عددية، والتي تتوافق مع نمط نافذة العرض عند تنفيذ البرنامج، وهي اختيارية.
قيمة نوع النافذة
نوع النافذة 1، 5، 9
نافذة عادية، مع المؤشر 2
الحد الأدنى للنافذة مع المؤشر (الافتراضي) 3
الحد الأقصى للنافذة، مع المؤشرات 4، 8
نافذة عادية، لا توجد مؤشرات 6، 7
الحد الأدنى من النافذة، لا يوجد مؤشر
عندما تستدعي الدالة Shell أحد التطبيقات بنجاح، فإنها تقوم بإرجاع معرف المهمة (TaskID)، الذي يمثل التعريف الفريد للبرنامج المنفذ.
[مثال]
X=Shell("C:WINDOWS/NOTEPAD.EXE"، 1)
يستدعي هذا البيان NOTPAD.EXE في مرفق WINDOWS كبرنامج تحرير ويقوم بإرجاع قيمة معرف إلى X. ->