360 likes | 606 Views
برمجة 2. المحاضرة الثانية – الأسبوع الرابع. التعامل مع الاجراءات والدوال Procedures and Function. الفصل الثاني. اجراء عرض لسماء الطالبات. مناداة Calling. البرنامج الاساسي Main Program. الاجراءات و الدوال.
E N D
برمجة 2 المحاضرة الثانية – الأسبوع الرابع
التعامل مع الاجراءات والدوالProcedures and Function الفصل الثاني
اجراء عرض لسماء الطالبات مناداة Calling البرنامج الاساسي Main Program
الاجراءات و الدوال • مجموعة من التعليمات التي يتم تنفيذها عند نداء الأجراء أو الدالة ثم يعود البرنامج الى تنفيذه العادي • وسائل أساسيه لاستخدام نفس الكود في أكثر من مكان داخل البرنامج
فوائد استخدام الدوال والاجراءات • سهولة اختبار الاجراء او الدالة على حده للتأكد من انه يعمل بصورة صحيحة • تجنب تكرار الكود بلا داع باستدعاء الاجراء عندما نحتاج اليه بدلاً من اعادة كتابه كل محتوياته • صيانة البرامج تصبح اسهل وذلك من خلال التعديل في مكان واحد ( الاجراء ) بدلا من التعديل على الاماكن التي تنادي عليه • انشاء مكتبه من الاجراءات الخاصة التي يمكن استخدامها في برامج مختلفة
أنواع الاجراءات الإجراءات الفرعية هي التي يكتبها المستخدم بحسب احتياجاته الاجراءات الحدثية هي التي يستدعيها البرنامج عند وقوع حدث معين لأحد الكائنات. مثل تحميل نموذج ، النقر على زر أمر Button
مثال على اجراء حدثي Private Sub Button1_Click(ByValsender AsSystem.Object, ByVale As System.EventArgs) Handles Button1.Click Dim num1, num2, num3 As Integer num3 = num2 + num1 MessageBox.Show(num3) End Sub
مكان كتابه الاجراء الفرعي قبل كل الاجراءات بين الاجراءات بعد كل الاجراءات
إ نشاء اجراء فرعي جديد ( الصيغة العامة) Sub procname ([arguments]) Statements End sub
صيغ المناداة Calling • باستخدام Call Call Procname ([arguments]) 2. بذكر اسم الاجراء مباشره Procname ([arguments])
كتبه الاجراء SayHello SubSayHello() MessageBox.Show("Hello world") End Sub
2. كتابه برنامج الاساسي ومناداة الاجراء Private Sub Button1_Click(ByValsender AsSystem.Object, ByVale AsSystem.EventArgs) Handles Button1.Click Call SayHello() End Sub
1. كتابه اجراء فرعي باسم Sum Sub sum(ByVal num1 AsInteger, ByVal num2 AsInteger) MessageBox.Show(num1 + num2) End Sub
2. كتابه برنامج الاساسي ومناداة الاجراء Private Sub Button1_Click(ByValsender AsSystem.Object, ByVale AsSystem.EventArgs) Handles Button1.Click Dim num1, num2 As Integer num1 = TextBox1.Text num2 = TextBox2.Text Call sum(num1, num2) End Sub
1. كتابه اجراء فرعي باسم ShowStudent SubshowStudent(ByVal students () Asstring) For i = 0 To 4 TextBox1.Text = TextBox1.Text & student(i) & vbCrLf Next End Sub
2. كتابه برنامج الاساسي ومناداة الاجراء Private Sub Button1_Click(ByValsender AsSystem.Object, ByVale AsSystem.EventArgs) Handles Button1.Click Dim students(4) As String students(0) = " Nora Abdullah" students(1) = "sarasalem" students(2) = "AmerahMohd" students(3) = " Rana Saud" students(4) = " ArwaHamad" Call showstudent(students) End Sub
ByVal and ByRef ByRef(Passing by Reference) البرنامح يمرر عنوان المتغير في الذاكرة الى الاجراء ByVal(Passing by Value) يتم عمل نسخة من متغير في مكان اخر من الذاكرة ليستخدمها الاجراء
البرنامج الاساسي Private Sub Form1_Load(ByValsender As System.Object, ByVal e AsSystem.EventArgs) Handles MyBase.Load Dim num1 As Integer num1 = 5 Label4.Text = num1 call addone(num1) Label6.Text = num1 End Sub
كتابة الاجراء AddOne SubAddone(ByVal num1 As Integer) num1 = num1 + 1 Label5.Text = num1 End Sub
البرنامج الاساسي Private Sub Form1_Load(ByValsender As System.Object, ByVal e AsSystem.EventArgs) Handles MyBase.Load Dim num1 As Integer num1 = 5 Label4.Text = num1 call addone(num1) Label6.Text = num1 End Sub
كتابة الاجراء AddOne Sub Addone(ByRef num1 As Integer) num1 = num1 + 1 Label5.Text = num1 End Sub
الخروج من الاجراء • لسبب او لاخر تحتاج احيانا للخروج او مغادرة الاجراء دون تكميل تنفيذه • يتم ذلك باستخدام جملة Exit Sub
البرنامج الاساسي Private Sub Button1_Click (ByValsender As System.Object, ByVal e AsSystem.EventArgs) Handles MyBase.Load Dim num1, num2 As Integer num1 = TextBox1.Text num2 = TextBox2.Text (Call DivNum(num1, num2 End Sub
كتابة الاجراء DivNum SubDivNum (ByValnum1 As Integer, ByVal num2 As Integer) If num2 = 0 Then Exit Sub MessageBox.Show(num1 / num2) End Sub