End Sub - WordPress.com
Download
Report
Transcript End Sub - WordPress.com
المحاضرة الثانية – االسبوع الثالث
الفصل الثاني
اجراء عرض لسماء الطالبات
مناداة Calling
البرنامج االساسي
Main Program
االجراءات و الدوال
• مجموعة من التعليمات التي يتم تنفيذها عند نداء هذا
االجراء ثم يعود البرنامج الى تنفيذه العادي
فوائد استخدام الدوال واالجراءات
• سهولة اختبار االجراء او الدالة على حده للتأكد من انه يعمل
بصورة صحيحة
• تجنب تكرار الكود بال داع باستدعاء االجراء عندما نحتاج اليه
بدالً من اعادة كتابه كل محتوياته
• صيانة البرامج تصبح اسهل وذلك من خالل التعديل في مكان
واحد ( االجراء ) بدال من التعديل على االماكن التي تنادي عليه
• انشاء مكتبه من االجراءات الخاصة التي يمكن استخدامها في
برامج مختلفة
Procedures االجراءات
أنواع االجراءات
االجراءات الحدثية
هي التي يستدعيها البرنامج
عند وقوع حدث معين
مثل تحميل نموذج ،النقر
على زر أمر Button
االجراءات الفرعيه
هي التي يكتبها المستخدم
بحسب احتياجاته
مثال على اجراء حدثي
Private Sub Button1_Click(ByVal sender As
System.Object, ByVal e 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 باستخدام.1
Call Procname ([arguments])
بذكر اسم االجراء مباشره.2
Procname ([arguments])
مثال 1
SayHello كتبه االجراء
Sub SayHello()
MessageBox.Show("Hello world")
End Sub
كتابه برنامج االساسي ومناداة االجراء.2
Private Sub Button1_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs)
Handles Button1.Click
Call SayHello()
End Sub
مثال 2
Sum كتابه اجراء فرعي باسم.1
Sub sum(ByVal num1 As Integer, ByVal num2 As
Integer)
MessageBox.Show(num1 + num2)
End Sub
كتابه برنامج االساسي ومناداة االجراء.2
Private Sub Button1_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
Button1.Click
Dim num1, num2 As Integer
num1 = TextBox1.Text
num2 = TextBox2.Text
Call sum(num1, num2)
End Sub
مثال 3
ShowStudent كتابه اجراء فرعي باسم.1
Sub showStudent(ByVal students () As string)
For i = 0 To 4
TextBox1.Text = TextBox1.Text & student(i) & vbCrLf
Next
End Sub
كتابه برنامج االساسي ومناداة االجراء.2
Private Sub Button1_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles Button1.Click
Dim students(4) As String
students(0) = " Nora Abdullah"
students(1) = "sara salem"
students(2) = "Amerah Mohd"
students(3) = " Rana Saud"
students(4) = " Arwa Hamad"
Call showstudent(students)
End Sub
ByVal and ByRef
ByVal(Passing by
)Value
يتم عمل نسخة من متغير في
مكان اخر من الذاكرة
ليستخدمها االجراء
ByRef(Passing by
)Reference
البرنامح يمرر عنوان
المتغير في الذاكرة الى
االجراء
ByVal مثال
البرنامج االساسي
Private Sub Form1_Load(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles
MyBase.Load
Dim num1 As Integer
num1 = 5
Label4.Text = num1
call addone(num1)
Label6.Text = num1
End Sub
AddOne كتابة االجراء
Sub Addone(ByVal num1 As Integer)
num1 = num1 + 1
Label5.Text = num1
End Sub
ByRef مثال
البرنامج االساسي
Private Sub Form1_Load(ByVal sender As System.Object,
ByVal e As System.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 (ByVal sender As
System.Object, ByVal e As System.EventArgs)
Handles
MyBase.Load
Dim num1, num2 As Integer
num1 = TextBox1.Text
num2 = TextBox2.Text
Call DivNum(num1, num2(
End Sub
DivNum كتابة االجراء
Sub DivNum (ByVal num1 As Integer, ByVal
num2 As Integer)
If num2 = 0 Then Exit Sub
MessageBox.Show(num1 / num2)
End Sub
Function الدوال
الدوال Functions
• تشبة الدوال االجراءات تماما ً
• الفرق الوحيد بينهما ان الدالة Functionترجع قيمة عند
استدعائها حيث يمكن تخزين هذه القيمة مباشره او
استخدامها في تعبير مباشرة في البرنامج االساسي.
داله حساب مجموع
مناداة Calling
مجموع
(يمكن استخدامه في البرنامج
االساسي)
البرنامج االساسي
Main Program
حساب مجموع الدرجات
حساب مجموع الدرجات
ثم حساب المتوسط
حساب مجموع الدرجات
ثم اختبار قيمة المجموع
لتحديد التقدير
مجموع الدرجات Sum mark
اختبار قيمة المجموع
لتحديد تقدير الطالب
حساب المتوسط عن
طريق قسمة مجموع
الدرجات على 2
عرض نتيجة في
MessageBox
)إ نشاء دالة جديده ( الصيغة العامة
Function Funcname ([arguments]) As dataType
Statements
End Function
خطوات مناداة الدالة Function
.1تعريف متغير لتخزين القيمة المرجعة من الداله
ويكون من نفس نوع البيانات
Dim x as datatype
.2مناداة الدالة Function
)]X=funcname([arguments
مثال 1
summarks كتابة الدالة
Function summarks(ByVal mark1 As Integer,
ByVal mark2 As Integer) As Integer
summarks = 0
mark1 = TextBox1.Text
mark2 = TextBox3.Text
summarks = mark1 + mark2
End Function
General في منطقة
Dim mark1, mark2 As Integer
Dim sum as integer
»داخل زر أمر «عرض مجموع الدرجات
sum = summarks(mark1, mark2)
MessageBox.Show(sum)
»داخل زر أمر «عرض متوسط الدرجات
Dim avg as integer
sum = summarks(mark1, mark2)
avg = sum / 2
MessageBox.Show(avg)
»داخل زر أمر «عرض تقدير الطالب
sum = summarks(mark1, mark2)
If sum >= 90 Then
MessageBox.Show )“)”ممتاز
ElseIf sum >= 80 Then
MessageBox.Show)")“ جيد جدا
ElseIf sum >= 70 Then
MessageBox.Show)")“ جيد
ElseIf sum >= 60 Then
MessageBox.Show(")“ مقبول
Else
MessageBox.Show)")“ ضعيف
End If
أنواع الدوال Function
الدوال المبنية داخل اللغة
هي الدوال التي يمكن
استخدامها مياشرة دون
تعريف مثل الدوال الحسابية
sqrt , Sin
والدوال الحرفية مثل Len
الدوال المعرفة من قبل
المستخدم
هي التي يكتبها المستخدم
بحسب احتياجاته
الدوال المبنية داخل اللغة (مثال )1
»داخل زر االمر «احسب عدد احرف النص
Dim charcount As integer
charcount = Len(TextBox1.Text)
MessageBox.Show(charcount)
Static المتغيرات الساكنه في الذاكره
Static
[Static ] Sub procname ([arguments])
Statements
End sub
التعامل مع اكثر من نموذج Formفي
البرنامج
اضافة نموذج Form
اضافة نموذج Form
Module
• المديول مفيدة جدا في صناعة البرامج فهي تنظم لك
مشروعك بحيث يسهل عليك تعديله في أي وقت