برامج

تعلم صناعة الدوال بنفسك .... [الأرشيف] - برامج نت

المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : تعلم صناعة الدوال بنفسك ....


-The-Ghost-
08-23-2008, 06:54 PM
تعلم صناعة الدوال بنفسك ....
السلام عليكم ورحمة الله وبركاته


اليوم اشرح لكم كيفية صناعة الدوال Functions فى برنامجك


بسم الله نبدأ


أولا يجب أن تعرف أن الدالة تعنى باللغه الانجليزية Function


هناك مجموعة من الدوال الثابتة أو المحجوزة فى الفيجوال بيسك مثل دالة جييب الزاوية Sin و داله جيب التمام Cos كمثال للدوال الرياضية
مثال آخر : الدالة Len و فائدتها معرفة عدد حروف نص معين
مثلا



رمز:
msgbox Len("Ahmad")
كما في الصورة
http://www.geocities.com/the_matrix222399/P1.png
فيكون الناتج
http://www.geocities.com/the_matrix222399/P2.png
5 لأن كلمة"Ahmad" تحتوي على خمسة حروف
كما ترى فإن الدالة تأخد مدخلات Inputs و ترجع لك مخرجات
إذن لكل داله مدخلات و مخرجات

ميكانيكية عمل الداله:
ترسل المدخلات إلى الداله -- ثم تقوم الدالة بعملية معالجة المدخلات حسب وظيفه كل داله -- ترسل الداله لك المخرجات

الآن تعالا بنا نكتب أول داله
ايه رأيك نعمل دالة جمع رقمين ؟؟
ستكون بالشكل التالى

رمز:
Function Add(ByVal X As Integer, ByVal Y As Integer) As IntegerAdd = X + YEnd Function
http://www.geocities.com/the_matrix222399/P3.png

الشرح:


http://www.geocities.com/the_matrix222399/P4.png

http://www.geocities.com/the_matrix222399/P5.png


http://www.geocities.com/the_matrix222399/P6.png


http://www.geocities.com/the_matrix222399/P7.png


http://www.geocities.com/the_matrix222399/P8.png


http://www.geocities.com/the_matrix222399/P9.png


http://www.geocities.com/the_matrix222399/P10.png


http://www.geocities.com/the_matrix222399/P11.png


http://www.geocities.com/the_matrix222399/P12.png


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
يعنى لما تحب تستدعى الدالة بتكتب اسمها و بعدين بين القوسين تحط قيم المدخلات X و Y
و طبعا المخرجات هتطلع فى صندوق رسالة = 11




فمهنا لحد هنا ؟؟
تمام شكلك فهمت

يلا ناخد مثال اصعب شوية،، بس انا عارفك معلم كبير و مفيش حاجة تصعب عليك

مثال أخر:
فى هذا المثال هعمل دالة تكشف لنا الطالب ناجح ولا راسب
نفترض مثلا ان النجاح من 150

نبدأ نكتب كود الداله و عينك على المدخلات و المخرجات و النوع بتاعهم


رمز:
Function Check(ByVal Result As Integer) As StringIf Result > 150 ThenCheck = "ناجح"ElseCheck = "راسب"End IfEnd Function


فى المثال اسم الداله Check
المدخلات : متغير اسمه Result و هى نتيجة الطالب ،، نوع المتغير Integer
المخرجات : نوعه String يعنى نص
الدالة بتشوف المدخلات ، لو أكبر من 150 بترجع لك كلمه ناجح
لو أقل من 150 بترجع لك كلمة راسب


رمز:
Private Sub Command2_Click()MsgBox Check(****1.****)End Sub
يعني ده شكل الكود النهائي

http://www.geocities.com/the_matrix222399/P13.png

لاحظ انى هعرض المخرجات فى صندوق رسالة
كتبت MsgBox
بعد كده كتبت Check لاستدعاء الداله ،، فتحت قوس ،، كتبت قيمة المتغير و قيمته هنا هى قيمه ****1.**** يعنى المتغير بياخد قيمته من التيكست بوكس ،، قفلت القوس

سيتم عرض الناتج فى صندوق الرسالة

http://www.geocities.com/the_matrix222399/P14.png


http://www.ss-ksa.com/vb/images/smilies/W12.gif
وأتمنى تستفيدوا من الدرس

ولو عجبكم الموضوع أو استفدتم منه

فأرجو وضع رد

لأني بجد تعبت فيه

أخوكم أحمد
The Ghost

ملحوظة: أنا كاتب الموضوع الأصلي أي أنه غير منقول من شخص اخر ولكني كنت قد صنعت الصور لوضعها في منتداي
والسلام عليكم ورحمة الله وبركاته

-The-Ghost-
08-23-2008, 07:03 PM
معليش اسم الموضوع حطيته بالغلط

أرجو من المشرف تعديله

و آآآسف جدًا

Aboud Aboud
08-24-2008, 08:26 AM
شكرا لك عالموضوع وتم التعديل

-The-Ghost-
08-24-2008, 09:30 AM
والله ردك شرف لي أخي الغالي

وشكرا على التعديل

واعتذر مرة أخرى