مواضيع ذات صلة
- أساسيات الفيجوال بيسك
- تعليمات الفيجوال بيسك
- صندوق كتابة الشيفرة والأحداث في الفيجوال بيسك
- انشاء برنامج من مشروع فيجوال بيسك وعمل setup له
- التعامل مع الفورم Form في فيجوال بيسك
- مزايا وعيوب فيجوال بيسك
- كائن التطبيقات OLE في فيجوال بيسك
- المصفوفات والمتغيرات فيجوال بيسك
- محرر القوائم المنسدلة في فيجوال بيسك
- كيف تتعامل مع الاخطاء في فيجوال بيسك
لابد وان البرمجة بلغة فيجوال بيسك يحتاج الى كتابة الكثير من الدوال الثابتة في فيجوال بسك كالدوال المتعلعة بالنصوص أو الزوايا ولكن ما رأيك ان تتعلم ان تصنع بنفسك دالة وتستخدمها في برامجك والهدف منه هو التسهيل والتسريع في كتابة البرامج كما انه يفيد في عدم اعادة كتابة الاوامر التي تستخدمها كثيرا بل جمعة في دالة واحدة
هناك مجموعة من الدوال الثابتة أو المحجوزة فى الفيجوال بيسك مثل دالة جييب الزاوية Sin و داله جيب التمام Cos كمثال للدوال الرياضية أو كمثال حي الدالة Len و فائدتها معرفة عدد حروف نص معين, انظر
msgbox Len("karwanpro")
سيكون الناتج 9 لأن عدد حروف الكلمة هو 9 حروف
كما ترى فإن الدالة تأخد مدخلات Inputs و ترجع لك مخرجات إذن لكل داله مدخلات و مخرجات .
ميكانيكية عمل الدالة:
ترسل المدخلات إلى الدالة ثم تقوم الدالة بعملية معالجة المدخلات حسب وظيفه كل دالة, ترسل الدالة لك المخرجات.
الان ما رايك بان نقوم بعمل دالة لجمع رقمين X و Y
Function Add(ByVal X As Integer, ByVal Y As Integer) As Integer
Add = X + Y
End Function
كيف تم ذلك؟:
1- نكتب كلمة Function للاعلان عن الدالة
2- اكتب اسم الدالة و قد سميناها فى هذا المثال Add
3- افتح قوس
4- نبدأ فى تعريف المتغيرات التى ستأخذها الداله أى المدخلات ،، إذا كنا نستخدم كلمه Dim فى تعريف المتغيرات العادية فإننا نستخدم كلمة ByVal فى تعريف مدخلات الدوال ( يعنى استبدل Dim بـ ByVal)
و على فكرة ByVal هذا اختصار لـ By Value
5- قمنا بتعريف متغير اسمه X نوعه Integer بالجمله ByVal X as Integer
6- قمنا بوضع علامة الفاصلة السفلية لتعريف متغير آخر ,
7- قمنا بتعريف متغير Y نوعه Integer بالجمله ByVal Y as Integer
8- قمنا باقفال القوس
9 - نكتب كلمة As و بعدها نكتب نوع النتيجة يعنى ال Data Type الخاص بالنتيجة ،، فلو كانت الدالة سوف ترجع لك رقم يكون As Integer و لو سترجع لك True , false يبقى As Boolean
و فى المثال هذه عملنا النتيجة التي سترجع رقم
10- اضغط Enter للانتقال لسطر جديد
11- فكر معي ماذا كان اسم الدالة ؟؟ كان اسمه Add , نبدأ بعملية معالجة البيانات ،، يعنى فى المنطقة هذه سنكتب وظيفة الدالة,نحن قلنا في البداية باننا نعمل دالة للجمع لذل من المفترض ان يكون نتيجة الدالة حاصل جمع X,y إذن اكتب Add = X + Y , بمعنى اخر اننا نقول بان الدالة Add يساوي حاصل جمع X,Y
12- ننهي الدالة بعبارة End Function
كيف تستدعي الدالة
Private Sub Command1_Click()
MsgBox Add(5, 6)
End Sub
في حال استدعاء الدالة كل ما عليك هو فقط ان تكتب اسم الدالة وثم المدخلات ويعطيك الناتج وفي مثالنا السابق ادخلنا 5,6 كمدخلات وسيكون الناتج 11
هذا هو كل ما في الامر ولكن دعنا نأخذ مثال عملي سنعمل دالة للكشف عن فيما اذا كان الطالب ناجح او راسب وسنفترض بأن درجة النجاح من 150 أي ان الطالب اذا حصل على اقل من 150 سيكون راسبا واذا كان اعلى من 150 سيكون ناجحا.
انظر الى الدالة
Function Check(ByVal Result As Integer) As String
If Result > 150 Then
Check = "ناجح"
Else
Check = "راسب"
End If
End Function
فى المثال اسم الداله Check
المدخلات : متغير اسمه Result و هى نتيجة الطالب ،، نوع المتغير Integer
المخرجات : نوعه String يعنى نص
الدالة تفحص المدخلات ، اذا أكبر من 150 سيطبع كلمة ناجح واذاأقل من 150 سيطبع كلمة راسب
وسوف نستدعي الدالة على شكل صندوق رسالة
Private Sub Command2_Click()
MsgBox Check(Text1.Text)
End Sub
سيطبع المخرجات على شكل صندوق رسالة
واليك المثال السابق للتنزيل اضغط هنا
هناك مجموعة من الدوال الثابتة أو المحجوزة فى الفيجوال بيسك مثل دالة جييب الزاوية Sin و داله جيب التمام Cos كمثال للدوال الرياضية أو كمثال حي الدالة Len و فائدتها معرفة عدد حروف نص معين, انظر
Code
msgbox Len("karwanpro")
سيكون الناتج 9 لأن عدد حروف الكلمة هو 9 حروف
كما ترى فإن الدالة تأخد مدخلات Inputs و ترجع لك مخرجات إذن لكل داله مدخلات و مخرجات .
ميكانيكية عمل الدالة:
ترسل المدخلات إلى الدالة ثم تقوم الدالة بعملية معالجة المدخلات حسب وظيفه كل دالة, ترسل الدالة لك المخرجات.
الان ما رايك بان نقوم بعمل دالة لجمع رقمين X و Y
Code
Function Add(ByVal X As Integer, ByVal Y As Integer) As Integer
Add = X + Y
End Function
كيف تم ذلك؟:
1- نكتب كلمة Function للاعلان عن الدالة
2- اكتب اسم الدالة و قد سميناها فى هذا المثال Add
3- افتح قوس
4- نبدأ فى تعريف المتغيرات التى ستأخذها الداله أى المدخلات ،، إذا كنا نستخدم كلمه Dim فى تعريف المتغيرات العادية فإننا نستخدم كلمة ByVal فى تعريف مدخلات الدوال ( يعنى استبدل Dim بـ ByVal)
و على فكرة ByVal هذا اختصار لـ By Value
5- قمنا بتعريف متغير اسمه X نوعه Integer بالجمله ByVal X as Integer
6- قمنا بوضع علامة الفاصلة السفلية لتعريف متغير آخر ,
7- قمنا بتعريف متغير Y نوعه Integer بالجمله ByVal Y as Integer
8- قمنا باقفال القوس
9 - نكتب كلمة As و بعدها نكتب نوع النتيجة يعنى ال Data Type الخاص بالنتيجة ،، فلو كانت الدالة سوف ترجع لك رقم يكون As Integer و لو سترجع لك True , false يبقى As Boolean
و فى المثال هذه عملنا النتيجة التي سترجع رقم
10- اضغط Enter للانتقال لسطر جديد
11- فكر معي ماذا كان اسم الدالة ؟؟ كان اسمه Add , نبدأ بعملية معالجة البيانات ،، يعنى فى المنطقة هذه سنكتب وظيفة الدالة,نحن قلنا في البداية باننا نعمل دالة للجمع لذل من المفترض ان يكون نتيجة الدالة حاصل جمع X,y إذن اكتب Add = X + Y , بمعنى اخر اننا نقول بان الدالة Add يساوي حاصل جمع X,Y
12- ننهي الدالة بعبارة End Function
كيف تستدعي الدالة
Code
Private Sub Command1_Click()
MsgBox Add(5, 6)
End Sub
في حال استدعاء الدالة كل ما عليك هو فقط ان تكتب اسم الدالة وثم المدخلات ويعطيك الناتج وفي مثالنا السابق ادخلنا 5,6 كمدخلات وسيكون الناتج 11
هذا هو كل ما في الامر ولكن دعنا نأخذ مثال عملي سنعمل دالة للكشف عن فيما اذا كان الطالب ناجح او راسب وسنفترض بأن درجة النجاح من 150 أي ان الطالب اذا حصل على اقل من 150 سيكون راسبا واذا كان اعلى من 150 سيكون ناجحا.
انظر الى الدالة
Code
Function Check(ByVal Result As Integer) As String
If Result > 150 Then
Check = "ناجح"
Else
Check = "راسب"
End If
End Function
فى المثال اسم الداله Check
المدخلات : متغير اسمه Result و هى نتيجة الطالب ،، نوع المتغير Integer
المخرجات : نوعه String يعنى نص
الدالة تفحص المدخلات ، اذا أكبر من 150 سيطبع كلمة ناجح واذاأقل من 150 سيطبع كلمة راسب
وسوف نستدعي الدالة على شكل صندوق رسالة
Code
Private Sub Command2_Click()
MsgBox Check(Text1.Text)
End Sub
سيطبع المخرجات على شكل صندوق رسالة
واليك المثال السابق للتنزيل اضغط هنا