السلام عليكم ورحمة الله وبركاته
يعتبر الأمر BINDEVENT أحد الأوامر الهامة والتي لا يمكن أن نغفل عنها عندما نقول أننا نتعامل مع البرمجة الكائنية OOP
وأيضا أحد الأوامر التي لم يتم التطرق لها في المنتدى لغاية الآن
خلاصة هذا الأمر أننا نستطيع بواسطته اعطاء عنصر ما خصائص عنصر آخر،
وتتجلى فائدته طبعا - على سبيل المثال - عندما يكون لدينا العديد من العناصر التي نريد أن تقوم بنفس الاجراء - أيها كان - أو تحمل نفس الميزات في وقت التنفيذ ( وليس التصميم ).
في وقت التصميم - عادةً - قد نقول Copy & Paste ومشي حالك خلينا نخلص
لكن تخيل لو أن لديك 20 عنصر... صممت منها العنصر الأول ووضعت فيه ما شئت من كود ثم انهيت الـ 19 عشر عنصراً الباقية عن طريق النسخ...نكون قد انتهينا.. هذا صحيح.
من الناحية الأخرى تخيل لو أنك اضطررت لتعديل الكود، ستضطر هنا للتعديل على الـ 20 كود الموجودة داخل العناصر المذكورة
هنا تظهر أهمية هذا الأمر وفائدته
المثال المرفق عبارة عن شاشة لعرض الأصناف المتوفرة لدينا، الغاية منه اظهار سعر واسم ورقم كل صنف في الخانات المحددة، عند الضغط على الـ Command Button الخاص بالصنف
تم توظيف الأمر BINDEVENT فيه على النحو التالي:
BINDEVENT(oObj,"Click",THISFORM,"onCmdClick")
حيث:
oObj تمثل مرجع للعنصر الهدف - تم تحديده عن طريق Loop
Click هو الحدث الخاص بـ oObj والذي نريد أن نسند له ما شئنا من أحداث
Thisform هو مرجع الحدث الذي نريد أن ننسخ منه الخصائص المطلوبة
onCmdClick هو اجراء تم انشاؤه في Thisform لنضع فيه ما شئنا من كود سيطبق في oObj.Click
- ملاحظة:
- الشرح في اتجاه واحد للتوضيح فقط... فقد تتعدد الاستخدامات..
- عذرا على العجلة في الشرح ( أتمنى أن تكون الفكرة قد وصلت )
ورمضان كريم
مع التحية


