السلام عليكم
اليوم اشرح لكم كيفية صناعة الدوال Functions فى برنامجك
بسم الله نبدأ
أولا يجب أن تعرف أن الدالة تعنى باللغه الانجليزية Function
هناك مجموعة من الدوال الثابتة أو المحجوزة فى الفيجوال بيسك مثل دالة جييب الزاوية Sin و داله جيب التمام Cos كمثال للدوال الرياضية
مثال آخر : الدالة Len و فائدتها معرفة عدد حروف نص معين
مثلا
msgbox Len("Ahmad")سيكون الناتج 5 لأن عدد حروف الكلمة هو 5 حروف
كما ترى فإن الدالة تأخد مدخلات Inputs و ترجع لك مخرجات
إذن لكل داله مدخلات و مخرجات
ميكانيكية عمل الداله:
ترسل المدخلات إلى الداله -- ثم تقوم الدالة بعملية معالجة المدخلات حسب وظيفه كل داله -- ترسل الداله لك المخرجات
الآن تعالا بنا نكتب أول داله
ايه رأيك نعمل دالة جمع رقمين ؟؟
ستكون بالشكل التالى
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 صح ؟ شاطر :D
بنبدأ عملية معالجة البيانات ،، يعنى فى المنطقة دى بنكتب وظيفة الداله
احنا قولنا فى اول كلامنا اننا بنعمل دالة جمع
يبقى المفروض النتيجة اللى هترجع من الدالة تكون حاصل جمع X و Y
خلاص انت حليتها
اكتب Add = X + Y
يعنى بنقول الدالة Add هترجع مجموع X و Y
12- طبعا هتقفل الدالة بجمله End Function
استدعاء دالة الجمع من الكود:
Private Sub Command1_Click() MsgBox Add(5, 6) End Sub
يعنى لما تحب تستدعى الدالة بتكتب اسمها و بعدين بين القوسين تحط قيم المدخلات X و Y
و طبعا المخرجات هتطلع فى صندوق رسالة = 11
:o فمهنا لحد هنا ؟؟
تمام شكلك فهمت :D
يلا ناخد مثال اصعب شوية،، بس انا عارفك معلم كبير و مفيش حاجة تصعب عليك :D
مثال أخر: فى هذا المثال هعمل دالة تكشف لنا الطالب ناجح ولا راسب
نفترض مثلا ان النجاح من 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
لاحظ انى هعرض المخرجات فى صندوق رسالة
كتبت MsgBox
بعد كده كتبت Check لاستدعاء الداله ،، فتحت قوس ،، كتبت قيمة المتغير و قيمته هنا هى قيمه text1.text يعنى المتغير بياخد قيمته من التيكست بوكس ،، قفلت القوس
سيتم عرض الناتج فى صندوق الرسالة
نكتفى بهذا القدر و إن شاء الله نقول دوال أكثر تعقيداً بعد ذلك ;)
و لو فى أى أسئلة أنا موجود
مع أطيب تمنياتى AHMAD FATHY
مرفق المثال




