Search VB 2010

Showing posts with label OOP Lesson 11. Show all posts
Showing posts with label OOP Lesson 11. Show all posts

Tuesday, April 26, 2011

OOP VB .Net Toturials and Examples - دروس فى ال أو أو بى

بدأنا مشروع تطوير الــ TextBox

Enum
 هى اختصار لـ Enumeration أو القائمه أو السرد و هى من مميزات الـ VB.Net و التى عن طريقها سنستطيع جعل خاصية TypeOfChr بها اختيارات (Number - Text - Both) ..... ننقل الكود الموجود الصورة رقم 36
صورة رقم 36

- و هنا قمنا بعمل Enum اسمه Chr بالضبط مثلما نقوم بعمل خاصيه و لكن فى هذا المثال المطلوب عمل Enum أو قائمه للــ Property لعرض متغيرات الــ Property للــ Control الجديد , يتكون الـ Enum من ثلاث قيم Values هى (Number - Text - Both) ثم اغلاق كود الـ Enum .... المفروض ان تجد الان خاصية TypeOfChr فى شاشة الخصائص للـUserControl1 الموجود على الـ Form1 و لكن لا تجدها لأننا لم نقم ببرمجة هذه القيم لتظهر فى شاشة الخصائص بعد ....
الان : نأخذ نسخه من الـ Enum للعمل عليها كالتالى Public Ch As Chr و هنا المتغير Ch يمثل الــ Enum Chr و معناه اننا عندما نريد مخاطبة الـ Enum Chr فاننا نتحدث مع الـ Ch ...
الخاصيه TypeOfChr : كما بالصورة رقم 37
صورة رقم 37
- و هنا قمنا بكتابة كود الخاصيه كما تعلمنا سابقا فظهر الاجراء Get و الاجراء Set و السؤال الان كيف تعمل هذه الخاصيه ؟
تعمل هذه الخاصيه عند اختيار المستخدم


ايا كان لقيمه من الثلاث قيم (Number - Text -Both) اذا يجب ان تبنى هذه الخاصيه على الـ Enum Chr لذلك تلاحظ ان كود الخاصيه هو Public Property TypeOfChr As Chr .... الاجراء Get يعود بقيمة الـ Chr و الاجراء Set يقوم بتخزين قيمة Chr المعطاه اليه فى المخزن Value و الذى بدورة ايضا نوعه Chr كما درسنا فى درس الخصائص اذا الخاصيه معتمده على Ch ..... الان تلاحظ أن الخاصيه انشأت بالفعل .... اين ؟؟؟
صورة رقم 38

- من قائمة Build قم باختيار Build MyNewTextBox ثم اظهر الـ Form1 و قم بحذف الـ UserControl1 الموجوده عليها و قم بعمل Save للمشروع ثم أعد اضافة الـ UserControl1 مكانها مره أخرة على الـ Form1 بنفس الطريقه الا اننا سنختصر الطريقه حيث سنجد الـ UserControl1 موجوده بالفعل فى قائمة Tools و بعد وضعها على الـ Form1 لاحظ الخصائص .... كما بالصورة رقم 38
حيث أن الخاصيه أصبحت موجوده بالفعل ..... قم بتجربه المشروع و لكن ماذا اذا اخترت Number من القائمة ؟؟؟؟ لا يحدث شىء لأننا لم نبرمج قيم الـ Enum أو القائمة ....
- هنا سنقوم ببرمجه كلا من Number - Text - Both عن طريق الحدث UserControl1_KeyPress لأن الـ KeyPress هو المسؤل عن نقل القيمة من الـ KeyBoard الى الــ TextBox الجديده و هنا سنقوم باعطاء أمر للبرنامج أنه عند اختيار القيمة Number من الخاصيه TypeOfChr للـ TextBox فإنه لن يعرض الا Numbers أرقام فقط و بالمثل بالنسبه للــ Text و لكن عند اختيار Both فانه يمكنه الكتابه كما يشاء ... انقل الكود كما الصورة رقم 39 .
من الواضح اننا استخدمنا Select Case للــ Enum Chr :

صورة رقم 39
ففى الــ Case Number اذا كان الــ E.KeyChar لا يساوى رقم فانه يمتنع عن الكتابه ... لكن ما هو الـ e.KeyChar ؟؟؟؟؟؟
الاجراء KeyPress كأى اجراء فتكنولوجيا الـ VB.Net له معاملان Parameters هما (Sender - E) أما الـمسؤل عن تخزين خصائص الحدث كالحدث KeyPress يقوم الـ E بتخزين أحداثه و خصائصه فيقوم بالتعرف على المفتاح الذى قمت بالضغط عليه قبل ظهوره فى الـ TextBox عن طريق معامل الـ KeyChar الخاص به . تمام ؟؟
و يمتنع البرنامج عن الكتابه عن طريق الامر e.Handled=True و التى تساوى KeyAscii=0 فى الــ VB0.6 أو انه لن يكتب شىء فى الـ TextBox .....
و نفس الموضوع للــ Text .... و لن نقوم بعمل أكواد لـ Both لأن المشروع يكتب عموما أرقام و حروف معا اذا لم نختر ايا من Number أو Text .
قم بتجربة المشروع عن طريق عمل Run له و لاحظ الفرق عند اختيار Number او Text أو Both .
ملحوظه : الداله IsNumeric وظيفتها التأكد من أن الــ Control محل الكتابه يكتب أرقام أم لا ..
و الان سنقوم ببرمجة خاصيه أخرى و هى IsDate و وظيفتها التأكد من أن المكتوب فالـ Control الجديد TextBox تاريخ أم لا و التعامل مع رسائل الــ Error و كيفية اظهارها لمستخدم الــ Control سواء كان مبرمج أو مستخدم للبرنامج .....

To Be Continued .......... تابعونا

Visual Basic Courses - Share