‫الفصل الرابع‬
‫االجراء ( ‪) procedure‬‬
‫هو مجموعة من االوامر و التعليمات ( ‪ ) code‬تحت اسم ما عند‬
‫استدعاء هذا االسم يتم تنفيذ هذه االوامر و التعليمات‬
‫االجراءات نوعين‬
‫النوع االول ( ‪ )Sub‬ال يعود بقيمة‬
‫النوع الثانى (‪ ) Function‬يعود بقيمة‬
‫االعالن عن االجراء ‪Sub‬‬
‫نلجا لألعالن عن ( ‪ ) Sub‬فى حالة اذا كان لدينا كود ( ‪) Code‬‬
‫سيتكرر كتابته فى اكثر من مرة من موضع داخل التصنيف‬
‫( ‪ ) class‬و كذلك بهدف تنظيم كتابة الكود و سهولة قراءته و فهمه‬
‫الصيغة العامة لالعالن عن ‪Sub‬‬
‫)‪Sub Name ( Parameters‬‬
‫‪Code‬‬
‫‪EndSub‬‬
‫نالحظ ان‬
‫1- ‪ Name‬تعبر عن اسم االجراء‬
‫2- )‪( Parameters‬عبارة عن القيم التى سوف تستقبل عند استدعاء‬
‫( ‪ ) procedure‬و التى تستخدم فى الكود‬
‫االعالن عن الدالة ‪Function‬‬
‫لالعالن عن ( ‪ ) Function‬فى حالة ان يكون لدينا كود سوف ينتج عنه قيمة نريد اخراجها‬
‫للمستخدم او استخدامها فى البرنامج مثل ايجاد محيط الدائرة او حساب مساحة مربع او حساب‬
‫ضريبة مستحقة‬

‫صيغة االعالن عن الدالة ‪Function‬‬
‫‪Function Name parameters As DataType‬‬
‫‪Code‬‬
‫‪Return Value‬‬
‫‪EndFunction‬‬
‫حيث ان :‬
‫1- ( ‪ ) Name‬تعبر عن اسم الدالة ( ‪) Function‬‬
‫2- (‪ ) DataType‬تعبر عن نوع البيان الخاصة بالقيمة الراجعة من الدالة ( ‪) Function‬‬
‫3- ( ‪ ) Parameters‬تمثل الوسائط التى سوف تستخدم فى الكود ( ‪) Code‬‬
‫4- ( ‪ ) Code‬مجموعة االوامر و التعليمات التى ستنفذ عند استدعاء الدالة‬
‫( ‪) Function‬‬
‫5- ( ‪ ) Value‬القيمة الراجعة من الدالة ( ‪) Function‬‬

‫مثال حساب مجموع رقمين‬
‫بعد فتح نافذة الكود نكتب الكود‬
‫‪Public Class Forms‬‬
‫‪Function Sum ( ByVal First As Single , ByVal Second As Single ) As Single‬‬
‫‪Dim total As Single‬‬

‫‪Total = First + Second‬‬
‫‪Return total‬‬
‫‪End Function‬‬

‫مالحظات‬
‫1- تم االعالن عن الدالة من نوع ( ‪ ) Sum‬من نوع ( ‪ ) Single‬و تستقبل قيمتين و هما‬
‫( ‪ ) First‬و ( ‪ ) Second‬حيث تم االعالن عن متغير ( ‪ ) Total‬من النوع‬
‫( ‪ ) Single‬ثم تخصيص ناتج جمع القيمتين ( ‪ ) First‬و ( ‪ ) Second‬للمتغير‬
‫( ‪ ) Total‬ثم ارجاع القيمة ( ‪ ) Total‬باستخدام ( ‪) Return‬‬
‫2- القيمة ( ‪ ) Total‬يتم تخزينها فى اسم الدالة ( ‪ ) Sum‬كما سيتضح عند استدعاءها‬

‫تذكر ان :‬
‫المتغيرات (‪ ) Variables‬يمكن تخصيص قيم لها أثناء االعالن و أثناء سير‬
‫تنفيذ البرنامج و كذلك استخدام القيم المخزنة بها‬
‫الثوابت ( ‪ ) Constants‬يمكن تخصيص قيم لها أثناء االعالن فقط كذلك‬
‫استخدام القيم المخزنة بها‬
‫الدوال ( ‪) Function‬ال يمكن تخصيص قيم لها و إنما تستدعى فتنتج قيمة‬
‫تخزن بها ثم يمكنك أستخدام هذه القيمة المخزنة بها .‬
‫مثال حساب مساحة الدائرة‬
‫االعالن عن الدالة ( ‪ ) Area‬لحساب مساحة الدائرة‬
‫‪As Single ) As Single‬‬

‫‪Function Area ( ByVal Radius‬‬
‫7 / 22 = ‪Const X As Single‬‬
‫‪As Single‬‬

‫‪Dim Area‬‬

‫‪radius = TextBox1.Tex‬‬
‫2 ^ ‪res = X * radius‬‬
‫‪Return res‬‬
‫‪End Function‬‬

‫حيث تم اإلعالن عن الدالة ( ‪ ) Area‬و اإلعالن عن الوسيط ( ‪ ) radius‬حيث‬
‫يكون ناتج الدالة ( ‪ ) Single‬و تم االعالن عن المتغيرين ( ‪ ) X‬كثابت‬
‫(‪ ) Constant‬يخزن به القيم ( 7 / 22 ) و ( ‪ ) res‬لتخزين ناتج حساب‬
‫مساحة الدائرة‬
‫استدعاء الدالة (‪) Area‬‬
‫) )2( ‪MessageBox.Show (Area‬‬
‫تم استدعاء الدالة ( ‪ ) Area‬و إعطاء قيمة ب ( 2 ) و عرض الناتج من خالل صندوق‬
‫رسالة (‪) MessageBox‬‬
‫الدوال المعرفة مسبقا ( ‪) Predefined Functions‬‬
‫هى دوال معرفة فى لغة البرمجة فيجوال بيزك و يتم استدعاؤها مباشرة مثل‬
‫1- الدالة ( ‪) Show‬‬
‫2- الدالة ( ‪) IsNumeric‬‬
‫3- الدالة ( ‪) Now‬‬
‫اوال الدالة ( ‪) Show‬‬
‫و تستخدم إلظهار صندوق رسالة " ‪" MessageBox‬يتحدد محتوياته حسب‬
‫الوسائط المعطاة فى الدالة‬
‫مثال‬
‫) " تسجيل طالب جديد " ," تم التسجيل بنجاح " (‪MessageBox.Show‬‬
‫ثانيا الدالة ( ‪) IsNumeric‬‬

‫تستخدم فى اختبار القيم هل هى رقمية ام غير رقمية‬
‫الدالة ( ‪ ) IsNumeric‬لها ناتج اما ( ‪ ) True‬اذا كانت القيمة رقمية او ( ‪ ) False‬اذا‬
‫كانت القيمة غير رقمية‬
‫مثال‬
‫) " ‪Label1.text = IsNumeric ( " five‬‬

‫1- ثالثا الدالة ( ‪) Now‬‬
‫من خاللها يمكن استعراض الوقت و التاريخ المسجل بنظام الكمبيوتر‬
‫مثال الستدعاء الدالة‬
‫اكتب الكود التالى فى جدث ‪button1_click‬‬
‫,‪Private Sub button1-click ( ByVal sender As object‬‬
‫) ) (‪MessageBox.Show ( Now‬‬

الفصل الرابع

  • 1.
    ‫الفصل الرابع‬ ‫االجراء (‪) procedure‬‬ ‫هو مجموعة من االوامر و التعليمات ( ‪ ) code‬تحت اسم ما عند‬ ‫استدعاء هذا االسم يتم تنفيذ هذه االوامر و التعليمات‬ ‫االجراءات نوعين‬ ‫النوع االول ( ‪ )Sub‬ال يعود بقيمة‬ ‫النوع الثانى (‪ ) Function‬يعود بقيمة‬ ‫االعالن عن االجراء ‪Sub‬‬ ‫نلجا لألعالن عن ( ‪ ) Sub‬فى حالة اذا كان لدينا كود ( ‪) Code‬‬ ‫سيتكرر كتابته فى اكثر من مرة من موضع داخل التصنيف‬ ‫( ‪ ) class‬و كذلك بهدف تنظيم كتابة الكود و سهولة قراءته و فهمه‬ ‫الصيغة العامة لالعالن عن ‪Sub‬‬ ‫)‪Sub Name ( Parameters‬‬ ‫‪Code‬‬ ‫‪EndSub‬‬ ‫نالحظ ان‬ ‫1- ‪ Name‬تعبر عن اسم االجراء‬ ‫2- )‪( Parameters‬عبارة عن القيم التى سوف تستقبل عند استدعاء‬ ‫( ‪ ) procedure‬و التى تستخدم فى الكود‬ ‫االعالن عن الدالة ‪Function‬‬ ‫لالعالن عن ( ‪ ) Function‬فى حالة ان يكون لدينا كود سوف ينتج عنه قيمة نريد اخراجها‬ ‫للمستخدم او استخدامها فى البرنامج مثل ايجاد محيط الدائرة او حساب مساحة مربع او حساب‬ ‫ضريبة مستحقة‬ ‫صيغة االعالن عن الدالة ‪Function‬‬ ‫‪Function Name parameters As DataType‬‬ ‫‪Code‬‬
  • 2.
    ‫‪Return Value‬‬ ‫‪EndFunction‬‬ ‫حيث ان:‬ ‫1- ( ‪ ) Name‬تعبر عن اسم الدالة ( ‪) Function‬‬ ‫2- (‪ ) DataType‬تعبر عن نوع البيان الخاصة بالقيمة الراجعة من الدالة ( ‪) Function‬‬ ‫3- ( ‪ ) Parameters‬تمثل الوسائط التى سوف تستخدم فى الكود ( ‪) Code‬‬ ‫4- ( ‪ ) Code‬مجموعة االوامر و التعليمات التى ستنفذ عند استدعاء الدالة‬ ‫( ‪) Function‬‬ ‫5- ( ‪ ) Value‬القيمة الراجعة من الدالة ( ‪) Function‬‬ ‫مثال حساب مجموع رقمين‬ ‫بعد فتح نافذة الكود نكتب الكود‬ ‫‪Public Class Forms‬‬ ‫‪Function Sum ( ByVal First As Single , ByVal Second As Single ) As Single‬‬ ‫‪Dim total As Single‬‬ ‫‪Total = First + Second‬‬ ‫‪Return total‬‬ ‫‪End Function‬‬ ‫مالحظات‬ ‫1- تم االعالن عن الدالة من نوع ( ‪ ) Sum‬من نوع ( ‪ ) Single‬و تستقبل قيمتين و هما‬ ‫( ‪ ) First‬و ( ‪ ) Second‬حيث تم االعالن عن متغير ( ‪ ) Total‬من النوع‬ ‫( ‪ ) Single‬ثم تخصيص ناتج جمع القيمتين ( ‪ ) First‬و ( ‪ ) Second‬للمتغير‬ ‫( ‪ ) Total‬ثم ارجاع القيمة ( ‪ ) Total‬باستخدام ( ‪) Return‬‬ ‫2- القيمة ( ‪ ) Total‬يتم تخزينها فى اسم الدالة ( ‪ ) Sum‬كما سيتضح عند استدعاءها‬ ‫تذكر ان :‬ ‫المتغيرات (‪ ) Variables‬يمكن تخصيص قيم لها أثناء االعالن و أثناء سير‬ ‫تنفيذ البرنامج و كذلك استخدام القيم المخزنة بها‬ ‫الثوابت ( ‪ ) Constants‬يمكن تخصيص قيم لها أثناء االعالن فقط كذلك‬ ‫استخدام القيم المخزنة بها‬
  • 3.
    ‫الدوال ( ‪)Function‬ال يمكن تخصيص قيم لها و إنما تستدعى فتنتج قيمة‬ ‫تخزن بها ثم يمكنك أستخدام هذه القيمة المخزنة بها .‬ ‫مثال حساب مساحة الدائرة‬ ‫االعالن عن الدالة ( ‪ ) Area‬لحساب مساحة الدائرة‬ ‫‪As Single ) As Single‬‬ ‫‪Function Area ( ByVal Radius‬‬ ‫7 / 22 = ‪Const X As Single‬‬ ‫‪As Single‬‬ ‫‪Dim Area‬‬ ‫‪radius = TextBox1.Tex‬‬ ‫2 ^ ‪res = X * radius‬‬ ‫‪Return res‬‬ ‫‪End Function‬‬ ‫حيث تم اإلعالن عن الدالة ( ‪ ) Area‬و اإلعالن عن الوسيط ( ‪ ) radius‬حيث‬ ‫يكون ناتج الدالة ( ‪ ) Single‬و تم االعالن عن المتغيرين ( ‪ ) X‬كثابت‬ ‫(‪ ) Constant‬يخزن به القيم ( 7 / 22 ) و ( ‪ ) res‬لتخزين ناتج حساب‬ ‫مساحة الدائرة‬ ‫استدعاء الدالة (‪) Area‬‬ ‫) )2( ‪MessageBox.Show (Area‬‬ ‫تم استدعاء الدالة ( ‪ ) Area‬و إعطاء قيمة ب ( 2 ) و عرض الناتج من خالل صندوق‬ ‫رسالة (‪) MessageBox‬‬ ‫الدوال المعرفة مسبقا ( ‪) Predefined Functions‬‬ ‫هى دوال معرفة فى لغة البرمجة فيجوال بيزك و يتم استدعاؤها مباشرة مثل‬ ‫1- الدالة ( ‪) Show‬‬ ‫2- الدالة ( ‪) IsNumeric‬‬ ‫3- الدالة ( ‪) Now‬‬ ‫اوال الدالة ( ‪) Show‬‬ ‫و تستخدم إلظهار صندوق رسالة " ‪" MessageBox‬يتحدد محتوياته حسب‬ ‫الوسائط المعطاة فى الدالة‬ ‫مثال‬ ‫) " تسجيل طالب جديد " ," تم التسجيل بنجاح " (‪MessageBox.Show‬‬
  • 4.
    ‫ثانيا الدالة (‪) IsNumeric‬‬ ‫تستخدم فى اختبار القيم هل هى رقمية ام غير رقمية‬ ‫الدالة ( ‪ ) IsNumeric‬لها ناتج اما ( ‪ ) True‬اذا كانت القيمة رقمية او ( ‪ ) False‬اذا‬ ‫كانت القيمة غير رقمية‬ ‫مثال‬ ‫) " ‪Label1.text = IsNumeric ( " five‬‬ ‫1- ثالثا الدالة ( ‪) Now‬‬ ‫من خاللها يمكن استعراض الوقت و التاريخ المسجل بنظام الكمبيوتر‬ ‫مثال الستدعاء الدالة‬ ‫اكتب الكود التالى فى جدث ‪button1_click‬‬ ‫,‪Private Sub button1-click ( ByVal sender As object‬‬ ‫) ) (‪MessageBox.Show ( Now‬‬