06-05-17, 03:15 AM
(آخر تعديل لهذه المشاركة : 06-05-17, 03:17 AM {2} بواسطة silverlight.)
الفورم عبارة عن كلاس اي كونترول تستخدمه عبارة عن كلاس اي ملفات موجودة في الدوت نت هي عبارة عن كلاس أو Structure
و لكتابة كلاس عليك أولا أن تحدد الهدف من الكلاس
او ماذا تريد أن تمرر لهذا الكلاس من بيانات و ماذا تريد ان تسترد من الكلاس أي بيانات
الميزة في كتابة الكلاس انها تقلل من كمية الاكواد المستخدمة في مشروعك و ايضا تستطيع كتابتها علي هيئة dll و تضيفها لمشروعك و تستدعيها لتنفيذ مهام معينة و ايضا و أهم ميزة في كتابة اي كلاس انك لاحقا تستطيع التعديل عليه و تطويرة و تضيف له اي اشياء تريدها
ولكتابة كلاس و في مشروعك عليك ان تستخدم Add New Item و تختار كلاس ثم تعطي هذا الكلاس اسما يتناسب مع الهدف منه
اي كلاس له شئ اسمه Constructor و هو هنا ما تعرفه انت باسم Sub New وبه يتم تمرير المتغيرات
ولتوضيح الأمر بشكل مبسط لنفترض انك تريد ان تحسب حاصل ضرب القيمة A في القيمة B
غالبا انت في الفورم تفعل الاتي
Dim A As Integer = 100
Dim B As Integer = 20
و لتحصل علي حاصل الضرب للمتغيران
Dim Result As Integer = A * B
حاول تضرب ارقام ضخمة جدا و لتري ماذا سيحدث معك
عموما ميزة تجويل الكود البسيط هذا الي كلاس ستسمح لك باستخدام الكلاس حين تريده في اي وقت و أيضا تسمح لك بتمرير أي قيمة تريدها في اي وقت
الأن نقوم بتحويل الكود البسيط هذا الي كلاس
من قائمة Add New Item في مشروعك
اختار Class و أعطه اسما يتناسب مع الهدف منه و هنا في حالتنا الهدف هنا هو عملية الضرب لذلك سنطلق علي الكلاس اسم Calculator
وعندما تضغط أوك ستجد أن الفيجوال استوديو اتوماتيكيا قام بانشاء الكلاس لك باسم Calculator
وهنا فقط عليك ان تكتب الكود الخاص بالكلاس
وهو قد يكون كالتالي
أولا تقوم بتعريف المتغيران A و B كالتالي
Private _a as Integer
Private _b as integer
Public Sub New (a as Integer, b as Integer)
me._a = a
me._b = b
ُEnd Sub
الأن نحن قمنا بتعريف المتغيرات و تمريرها للكلاس يتبقي ان نكتب الدالة التي تحسب عملية الضرب
وهنا تستطيع وضع شروط معينة لكي تتم عملية الضرب
Public Function Multiply() As Integer
Dim result as Integer = nothing
If Me._a <> 0 AndAlso Me._b <> 0 Then
result = Me._a * Me._b
ُEnd If
Return Result
ُEnd Function
حاول تستخدم الكلاس داخل الفورم بتعريف متغير يعبر عنه
Dim c As New Calculator(8, 5)
Dim result As Integer = c.Multiply()
'حاول تمرر ارقام ضخمة جدا و لتري ماذا سيحدث معك
بالتاكيد سيحدث خطأ في مرحلة ما
لذلك في الكلاس الاصلي يجب أن تراعي تلك الأخطاء بأن تتحكم في المتغيرات التي يتم ادخالها للكلاس
أيضا تستطيع ان تضيف له Property لتحصل علي المتغيرات التي تم تمريرها للكلاس في أي وقت
ولهذا حديث أخر
و لكتابة كلاس عليك أولا أن تحدد الهدف من الكلاس
او ماذا تريد أن تمرر لهذا الكلاس من بيانات و ماذا تريد ان تسترد من الكلاس أي بيانات
الميزة في كتابة الكلاس انها تقلل من كمية الاكواد المستخدمة في مشروعك و ايضا تستطيع كتابتها علي هيئة dll و تضيفها لمشروعك و تستدعيها لتنفيذ مهام معينة و ايضا و أهم ميزة في كتابة اي كلاس انك لاحقا تستطيع التعديل عليه و تطويرة و تضيف له اي اشياء تريدها
ولكتابة كلاس و في مشروعك عليك ان تستخدم Add New Item و تختار كلاس ثم تعطي هذا الكلاس اسما يتناسب مع الهدف منه
اي كلاس له شئ اسمه Constructor و هو هنا ما تعرفه انت باسم Sub New وبه يتم تمرير المتغيرات
ولتوضيح الأمر بشكل مبسط لنفترض انك تريد ان تحسب حاصل ضرب القيمة A في القيمة B
غالبا انت في الفورم تفعل الاتي
Dim A As Integer = 100
Dim B As Integer = 20
و لتحصل علي حاصل الضرب للمتغيران
Dim Result As Integer = A * B
حاول تضرب ارقام ضخمة جدا و لتري ماذا سيحدث معك
عموما ميزة تجويل الكود البسيط هذا الي كلاس ستسمح لك باستخدام الكلاس حين تريده في اي وقت و أيضا تسمح لك بتمرير أي قيمة تريدها في اي وقت
الأن نقوم بتحويل الكود البسيط هذا الي كلاس
من قائمة Add New Item في مشروعك
اختار Class و أعطه اسما يتناسب مع الهدف منه و هنا في حالتنا الهدف هنا هو عملية الضرب لذلك سنطلق علي الكلاس اسم Calculator
وعندما تضغط أوك ستجد أن الفيجوال استوديو اتوماتيكيا قام بانشاء الكلاس لك باسم Calculator
وهنا فقط عليك ان تكتب الكود الخاص بالكلاس
وهو قد يكون كالتالي
أولا تقوم بتعريف المتغيران A و B كالتالي
Private _a as Integer
Private _b as integer
Public Sub New (a as Integer, b as Integer)
me._a = a
me._b = b
ُEnd Sub
الأن نحن قمنا بتعريف المتغيرات و تمريرها للكلاس يتبقي ان نكتب الدالة التي تحسب عملية الضرب
وهنا تستطيع وضع شروط معينة لكي تتم عملية الضرب
Public Function Multiply() As Integer
Dim result as Integer = nothing
If Me._a <> 0 AndAlso Me._b <> 0 Then
result = Me._a * Me._b
ُEnd If
Return Result
ُEnd Function
حاول تستخدم الكلاس داخل الفورم بتعريف متغير يعبر عنه
Dim c As New Calculator(8, 5)
Dim result As Integer = c.Multiply()
'حاول تمرر ارقام ضخمة جدا و لتري ماذا سيحدث معك
بالتاكيد سيحدث خطأ في مرحلة ما
لذلك في الكلاس الاصلي يجب أن تراعي تلك الأخطاء بأن تتحكم في المتغيرات التي يتم ادخالها للكلاس
أيضا تستطيع ان تضيف له Property لتحصل علي المتغيرات التي تم تمريرها للكلاس في أي وقت
ولهذا حديث أخر

