Posts

Showing posts from April, 2011

Author

Ahmed Samir

Evry1falls is my online name

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

Image
فى الدرس السابق بدأنا مشروع تطوير الــ TextBox أولا : تغيير اسم الاداه من UserControl1 الى MyNewTxtBx



نتوجه الى شاشة كود UserControl1 فى السطر الاول Public Class UserControl1و نغيره الى MyNewTxtBx أو أى أسم ترغب به كما بالصورتين 46 و 47 و نقوم بعمل Build و تجربة المشروع و ستلاحظ أن الاسم الموجود بالـ ToolBox تغير الى الاسم الجديد . انتهــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــى
ثانيا : تغيير شكل الايقونه الى ايقونة خاصه هذا هو شكل الايقونه التى نستخدمها و هى تعطى لأى أداه جديده مصنوعه عن طريق المبرمج (نحن) و هى صورة الترس الازرق و لكن شكل ايقونة الـ TextBox مختلف و يدل على أنه TextBox و نريد كما اتفقنا على جعل الاداه قويه وفعاله و بالتالى يجب الاهتمام بالتصميم و لكى نقوم بتغيير الايقونه سنستخدم Attributes أو مواصفات. و يجب أن نحدد ما اذا كنا سنستخدم شكل ايقونة الـ TextBox المتعارف عليها أو أيقونه جديده و لكن احذر من استخدام ايقونه ملك شخص أخر أو شركة أخرى فمن الممكن جدا أن تلقى الاداه رواج فى سوق العمل و تجد نفسك أمام مسائلات أنت فى غنى عنها من شركة…

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

Image
فى الدرس السابق بدأنا مشروع تطوير الــ TextBox خاصية IsDate التى سنقوم ببرمجتها الهدف منها التحكم فى المكتوب بالـ NewTextBox هل هو تاريخ أم لا ! و بالتالى سيكون نوع الخاصيه Bolean أى تحتمل الـ True أو الـ False بمعنى اذا كانت True فانه يمكن للمستخدم كتابة تاريخ و العكس فى حالة False .

و كما فى المثال السابق لبرمجة خاصية TypeOfChr قمنا بعمل متغير Ch بالمثل هنا سنقوم بعمل متغير Dt نوعه من نوع الخاصيه Bolean حيث سيقوم المتغير Dt بتخزين القيمة Set و استرجاع القيمه Get من المتغير Value .... صورة رقم 40 و نقوم بعمل Build للأداه الجديده و ننتقل الى الـ Form1 و نتحقق من شاشة الخصائص نجد أن الخاصية ظهرت بالفعل .. كما بالصورة رقم 41 .   نقوم الان ببرمجة الاداه للاستخدام ... المفروض اختيار True معناه تمكين المستخدم من كتابة Date فقط و False معناه كتابة أى نوع (تاريخ - ارقام - حروف ..... الخ) و سيكون ذلك للحدث Leave حيث سيقوم البرنامج بمعرفة نوع المكتوب فى الاداه عند تركها Leave و الانتقال الى Focus لها ايضا , و يكون الكود كما فى الصورة 42 .   و الكود يقول : فى الحدث Leave اذا كانت الخاصيه …

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

Image
فى الدرس السابق بدأنا مشروع تطوير الــ TextBox
Enum  هى اختصار لـ Enumeration أو القائمه أو السرد و هى من مميزات الـ VB.Net و التى عن طريقها سنستطيع جعل خاصية TypeOfChr بها اختيارات (Number - Text - Both) ..... ننقل الكود الموجود الصورة رقم 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 - و هنا قمنا بكتابة كود الخاصيه كما تعلمنا سابقا فظهر الاجراء Get و الاجراء Set و السؤال الان كيف تعمل هذه الخاصيه ؟ تعمل هذ…

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

Image
فى الدرس السابق تعرفنا على الوراثه Access Modifiers
 مشروع عملى لتطوير الــ TextBox
و سيكون ذلك عن طريق اضافة خاصيه جديده كمثال ثم استخدام الـ TextBox الجديده فى مشاريعك الخاصه بعد ذلك و هى خاصية TypeOfChr أو نوع الكتابه فى الـ TextBox (نص - رقم - كلاهما) . بداية : قم بعمل مشروع جديدمن نوع (Windows Control Liberary) فالــ TextBox فى النهايه هى Control كما بالصورة رقم 28 لكن سنقوم بتغيير الاسم الى MyNewTextBox و الامر يعود اليك ...... و ستتم عملية التطوير عن طريق استخدام خاصية Inheritance أو الوراثه حيث سنقوم بفتح الـ Class TextBox و وراثته و الاضافه عليه .... كيف ؟؟؟ انظر الصورة رقم 29 حيث نتوجة الى شاشة Solution Explorer و نختار Show All Files ستظهر لنا جميع الملفات ثم نذهب الى UserControl1 و نفتح القائمه التى يمثلها نجد ملفين (Resx - Designer) نختار Designer    لاحظ : عند فتح ملف الـ Designer للتعديل كما بالصورة رقم 30 كود الوراثه نقوم بتغيير كلمة UserControl الى TextBox لأننا سنرث الـ TextBox و ايضا يوجد اجراء اسمه InitializeComponent يحتوى على سطرين أكواد عباره عن تحديد مكان الـ Con…

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

Image
فى الدرس السابق تعرفنا على الوراثه Inheritance
Access Modifiers تابع المشروع السابق : لدينا الان الاجراء A فى Parent ..... ماذا يحدث اذا قمنا بعمل اجراء بنفس الاسم A فى Child. قم بتنفيذ السابق : و نأتى على الفورم و فى الحدث Button1_Click نكتب الكود : Dim X As New Child() X.A() ماذا تتبع هذه الــ A ...؟ هل الــ Parent ؟ أم الــ Child ؟ هى تتبع الـ Child و سيقوم البرنامج بتنفيذ الكود و لكن ستلاحظ خط أخضر تحت الـ A و هذا معناه أن هناك شىء غير منطقى و يكون الحالى بسيط .... سنقوم بعمل OverRide لــ A بمعنى ان الـ Child سيكون به A و الـ Parent سيكون به A أخرى على الرغم من أن Child يرث الــ Parent و يكتب الكود بهذا الشكل فى كلتا المنطقتين Parent و Child ... فى الـ Parent يكون : Public OverRidable Sub A() MsgBox ("I Belong to the Parent") End Sub و فى الـ Child يكون : Public OverRides Sub A() MsgBox ("I Belong to the Child") End Sub قم بتجربة الكود تلاحظ أنه يقوم بتنفيذ الـ A التابعه للــ Child و فى هذه الطريقه OverRide فإنه من اللازم استخدام نفس الـ Arguements فى كلا من الـ Parent و الـ Chil…

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

فى الدرس السابق تعرفنا على الوراثــة Inheritance تابع الوراثه Inheritance نفترض انك طلبت من أحد المبرمجين صناعة Class لك لاستخدامه فى مشاريعك و قد تم بالفعل كما طلبته و بعد فتره احتجت الى تعديل لعمل هذا الــ Class مع العلم أن الـــ Class مغلقأى لا يمكن فتحه و تعديله ... ما العمل ؟؟ هنا سنقوم بصناعة Class جديد مبنى على الــ Class القديم حتى و لو كان القديم مغلق , مع العلم أن الـ Class الجديد لن يعمل الا فى وجود الــ Class القديم ........... مثال عملى : مشروع جديد عبارة عن : عدد (1) فورم + عدد (2) كلاس (Parent - Child) Public Class Parent Public Sub A() MsgBox ("Sub A in Parent") End Sub End Class قمنا بعمل اجراء اسمه A فى الـ Class Parent عبارة عن MsgBox .... نتوجه الى الـ Form و نضيف Button1 و فى الحدث Button1_Click نكتب : Dim X As New Parent X.A() نقوم بتجربة المشروع .... سنجد انه نفذ الكود ... Public Class Child Inherits Parent End Class نقوم بتجربة الخطوه التاليه بدلا من الخطوه السابقه .. Dim X As New Child X.A() نقوم بتجربة المشروع .... سنجد انه نفذ الكود ... نقوم باضافة Class اسمه Another_Chi…

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

Image
فى الدرس السابق تعرفنا على الخصائص Over-Loading الوراثة - OOP Inheritance الوراثه هى :

كيفية بناء فئه جديده فرعيه Sub Class أو فئه ابنه Child Class أو فئه مشتقه Derived Class من فئة رئيسية تسمى الـ Main Class أو الفئة الأم Parent Class و هو لا يختلف كثيرا عن مفهوم الوراثه العام .
حيث أن أكواد الفئات الفرعيه بجميع مسمياتها ترث خواص (أكواد) الفئه الرئيسية
مثال عملى : قم بعمل مشروع جديد يحتوى على Form1 بها عدد (2) Button + عدد (1) Class اسمه Egypt قم بحفظ المشروع Ctrl+S. اكتب الاكواد الموضحه بالصورة رقم 19 و هو عباره عن أكواد الـ Class Egypt وهة متغيرات رقمية ... السؤال الان كيف يمكننا تطبيق مبدأ الوراثه Inheritance أو كيف يمكننا نقل الــ Class Egypt  الى Class أخر فرعى Child و ليكن C_Egypt ؟؟؟
سنقوم بعمل Class جديد C_Egypt بعد الـ Class Egypt بهذه الطريقه :

Public Class C_EgyptInherits EgyptEnd Class و سنأتى على الـ Form1 فى الحدث Button1_Click و نقوم بتجربة الـ Class الجديد أو الفرعى ... نكتب الاكواد كما بالصورة رقم 20

حيث قمنا بأخذ نسخه من الــ Class الفرعى C_Egypt الذى هو فرعى من الـ Class…

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

Image
فى الدرس السابق تعرفنا على الخصائص Properties نقوم بعمل مشروع جديد Project1 - نوعه Windows Application - و الهدف منه انشاء MsgBox - و يتكون من عدد (2) فورم الاولى باسم (Form1) و الثانيه باسم (Msg) و ايضا Module1 فى الـفورم Form1 نضيف مفتاح فى الفورم Msg نضيف عدد (2) Button + عدد (1) Label - جميعنا يعرف الـ MsgBox و هى عبارة عن Form عاديه بها مجموعه من الخصائص و الدوال و الاجراءات المبرمجه و فى هذا المثال سنقوم بعمل MsgBox مصغر يمكننا استخدامه فى جميع المشروعات . أكواد الموديول : Public Function Msg1(ByVal Prompt As String) Msg.Label1.Text = Prompt Msg.Show() و فى هذا الكود نقوم بعمل Function اسمها Msg1 مبنيه على متغير اسمه Prompt نوعه String متغير نصى Prompt سيكون المسؤل عن نقل قيمة الــ Msg1 . بينما فائدة هذه الداله هو استدعاء الفورم رقم 2 Msg و التى تمثل MsgBox المصغرة و مساواة قيمتها Prompt بقيمة Label1 فى الفورم Msg و بالتالى أى قيمة يأخذها Label1 هى قيمة الــ Prompt و بالتالى قيمة Msg1. فى الفورم Form1 فى الحدث Button1_Click Msg("Hello World") الان قم بتنفيذ المشروع Run و عند الضغط عل…

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

Image
فى الدرس السابق تعلمنا المزيد عن الــ Class ... الخصائص أو Properties - كيف نقوم بعمل خاصيه داخل الـــ Class ؟؟؟ - لكى نجيب على هذ التساؤل يجب أولا قراءة الاتى بتمعن : ............. ما هى وظيفة الخاصية ؟ - هى نفس وظيفة المخزن (المتغير) تقوم بتخزين قيمة داخلها لحين استخدامها ............ - سنقوم بعمل مشروع جديد Windows Application يحتوى على Form و Class 1) نفتح الـ Class1 و نكتب فيه الكود الاتى : Public Proprty Test() و نضغط على Enter تلاحظ : تم اضافة سطور جديده تلقائيا كما بالصورة رقم 10 حيث Get هى المسؤله عن استرجاع القيمه Value Set هى المسؤله عن تخزين القيمه Value القيمة Value هى القيمة الافتراضيه لمدخلات الخاصيه أو بمعنى اخر هى المسؤله عن تخزين القيمه ف الاجراء Set و يمكن استبدالها بأى اسم متغير اخر, و لكن يجب ان يكون نوع المتغير Value من نفس نوع الخاصيه بمعنى : اذا قمنا بكتابة كود الخاصيه الموضح بالصورة 10 بشكل تانى : Public Property Test() As Double Get Codes ....................... End Get Set (ByVal Value as Double) Codes ....................... End Set End Property ايضا من ضمن الفروق ين المتغير (…

Comment Via facebook