دخول
المتواجدون الآن ؟
ككل هناك 1 عُضو حالياً في هذا المنتدى :: 0 عضو مُسجل, 0 عُضو مُختفي و 1 زائر لا أحد
أكبر عدد للأعضاء المتواجدين في هذا المنتدى في نفس الوقت كان 14 بتاريخ 8/1/2013, 10:57 am
أفضل 10 أعضاء في هذا المنتدى
Sniper - 201 | ||||
M.Y.T - 184 | ||||
STEEV - 94 | ||||
*شمس الإسلام* - 67 | ||||
MhdSyrwan - 51 | ||||
حنيني للجنة - 36 | ||||
ايمــــ عزي ــــاني - 32 | ||||
Karam - 23 | ||||
VIRUS - 21 | ||||
kenan.t - 21 |
بحـث
دورات VB.net : الدرس الرابع
صفحة 1 من اصل 1
دورات VB.net : الدرس الرابع
الدرس الرابع :
سنأخذ في هذا الدرس :
1- Loop
أ- For Each
2- Switch
3- تعريف التوابع
4- تعريف الإجرائيات
1- Loop
أ- For Each
وهي حلقة نستطيع من خلالها الدوران على كل شيء يمكن الدوران عليه مثل الـ Objects فمثلا إذا اردنا الدوران على كل عناصر المصفوفة
- الكود:
For Each i As Integer In arr
Console.WriteLine)i)
Next
اذا فرضنا أن arr هي المصفوفة لدينا _ سنأخذ لا حقا كيف نعرف المصفوفات _
وبالإمكان فعل هذا في ال for العادية أيضاً
مثال ثاني :
اذا كان لدينا Class عبارة عن موظفين أي فيه عدد من الموظفين
نريد أن ندور عليهم كلهم فإذا فرضنا أن أسم الـ Class هو employee وفرضنا أن هناك Class ثاني اسمه users فيه الموظفين فنكتب :
- الكود:
For Each e As employee In emp
Next
أتمنى أن تكون الفكرة قد وضحت وان شاء الله سيكون لنا شغل معها وسنتعرف عليها أكثر
2- Select
وهي نفسها Case في الباسكال فكنا نكتب :
- الكود:
Case x of
1 : writeln('Number is 1') ;
2 : writeln('Number is 2');
end;
أما في الـ VB.net نكتب :
- الكود:
Select Case x
Case 1
Console.WriteLine("Number is 1")
Case 2
Console.WriteLine("Number is 2")
End Select
والفرق واضح جداً وهو لا وجود للـ of ونكتب قبل الـ (Case) Select وكل اختيار نكتب قبله Case كما هو واضح
واذا اردنا أن نكتب أكثر من تعليمة داخل الـ Case كنا نكتب في الباسكال
- الكود:
Case x of
1 : begin
writeln('Number ') ;
writeln('is 1');
end;
2 : begin
writeln('Number ') ;
writeln('is 2');
end;
end;
فكان يجب علينا كتابة begin و end
أما في الـ VB.net يمكننا أن نكتب أكثر من سطر داخل Case نفسها بدون أي شيء
أي نكتب كالتالي :
- الكود:
Case 1
Console.Write("Number ")
Console.WriteLine("is 1")
Case 2
Console.WriteLine("Number is 2")
Console.WriteLine("is 1")
End Select
3- تعريف التوابع
كنا نكتب في الباسكال
- الكود:
Function sum( x : integer ; y : integer) : integer ;
Begin
Sum := x + y ;
end;
أما في الـ VB.net نقوم بكتابة التالي :
- الكود:
Function sum (x As integer , y As integer) As integer
Return x+y
End Function
نلاحظ أننا بعد كتابة التابع أعلاه نجد أنه يتغير ليصبح بدل
- الكود:
Function sum (x As integer , y As integer) As integer
- الكود:
Function sum (ByVal x As integer , ByVal y As integer) As integer
و (ByVal) تعني By Value أي عندما نمرر لهذا التابع المتحول x أو y لا تتغير قيمته داخل التابع
أي في الباسكال كنا نكتبها بدون var فيعمل التابع السابق بدون var فإذا أردنا أن يقوم التابع بتغيير قيمة المتحول بعد خروجه من التابع نكتب
- الكود:
Function sum (ByRef x As integer , ByRef y As integer) As integer
معنى (ByRef) هو By Refrance وهي كما قلنا مكان الـ var في الباسكال
فكنا نكتب في الباسكال
- الكود:
Function sum(var x : integer ;var y : integer) : integer ;
ونرى أيضاً إننا إذا أردنا أن يرد التابع قيمة ما نكتب في الباسكال إسم التابع ثم (:=) ثم القيمة المراد ردها
أما في الـ VB.net يمكننا أن نفعل هذا بكتابة إسم التابع ثم (=) ثم القيمة أي
Sum = x + y
ويمكننا أيضاً رد القيمة بـ return ثم القيمة المراد ردهاأما إستدعاء التابع فهو نفسه في الباسكال أي
Dim s As Integer = Sum( x , y )
وأيضاً يمكننا كما في الباسكال وضع ارقام بدل المتحولات مباشرة أيDim s As Integer = Sum( 2 , 3 )
ويمكننا أيضاً طباعة التابع مباشرةConsole.Write(Sum( x , y ))
فيطبع الناتج مباشرةوأيضا اذا اردنا تعريف متحولات خاصة بالتابع كنا نكتب في الباسكال
- الكود:
Function sum( x : integer ; y : integer) : integer ;
Var Res : integer ;
Begin
Res := x + y ;
Sum := Res ;
end;
أي
- الكود:
Function sum (x As integer , y As integer) As integer
Dim Res As integer = x + y
Return Res
End Function
4- تعريف الإجرائيات
كنا نكتب بالباسكال
- الكود:
Procedure Print ( x : integer )
Begin
Writeln( x ) ;
End;
في الـ VB.net نكتب
- الكود:
Sub Print (ByVal x As integer)
Console.WriteLine( x )
End Sub
والفرق بينه وبين الباسكال نفسه الفروقات بين التوابع
وإذا أردنا أن نكتب اسم للتابع ويكون كلمة محجوزة مثل إجرائية طرح مثلاً
- الكود:
Sub [Sub] (ByRef x As integer)
x = x - 5
End Sub
أي نكتبها ونضعها بين قوسين كبيرين [ ]
وسنستفاد من شيء مهم لا حقاً هو Private و Public
فاذا اردنا أن نعرف تابع أو إجرائية خاصة بهذا الـ Class ولا يراه سواه نعرفه Private بالطريقة التالية :
Private Sub Print (ByVal x As integer)
أي نكتب قبل أن نعرف إن كان تابع أو إجرائيةأما اذا اردنا أن نكتب تابع أو إجرائية نستطيع مشاهدتها في Class آخر نقوم بتعريفه Public كما في الشكل
Public Sub Print (ByVal x As integer)
واذا لم تفهموا هذا فسنعود له مرة أخرى إن شاء الله عند البدء في الـ Classأتمنى أن يكون الدرس مفيداً
ولأي استفسارات أو أسئلة ادخلو على الرابط التالي :
https://3md-it.yoo7.com/montada-f12/topic-t20.htm
لا تنسونا من صالح الدعاء
تحميل الدرس
لتحميل الدرس
تجدونه في المرفقات أو على الرابط التالي
http://www.multiupload.com/C7DWMDZPXY
وإن شاء الله أن تستفيدوا منه
تجدونه في المرفقات أو على الرابط التالي
http://www.multiupload.com/C7DWMDZPXY
وإن شاء الله أن تستفيدوا منه
- المرفقات
الوظيفة
كما عرفت لا أحد قام بالوظيفة السابقة
ولكن اقوم بواجبي وأضع لكم وظيفة جديدة
1- تابع يرد عاملي عدد
2- تابع يرد قوة عدد
3- بنامج يحتوي
أ - تابع يقوم بقراءة سلسلة محارف نصية
ب - إجرائية حساب عدد الأحرف , عدد الارقام , عدد المحارف
جـ - إجرائية طباعة السلسلة المحرفية بعد تحويل كل حرف كبير الى حرف صغير
الوظيفة لكم وتفيدكم انتم
لذلك لاتتركوها
ولكن اقوم بواجبي وأضع لكم وظيفة جديدة
1- تابع يرد عاملي عدد
2- تابع يرد قوة عدد
3- بنامج يحتوي
أ - تابع يقوم بقراءة سلسلة محارف نصية
ب - إجرائية حساب عدد الأحرف , عدد الارقام , عدد المحارف
جـ - إجرائية طباعة السلسلة المحرفية بعد تحويل كل حرف كبير الى حرف صغير
الوظيفة لكم وتفيدكم انتم
لذلك لاتتركوها
مواضيع مماثلة
» دورات VB.net : الدرس الأول
» دورات VB.net : الدرس الثاني
» دورات VB.net : الدرس الثالث
» الاستمرار في دورات الـ VB.net
» مناقشة دورات تعليم VB.net
» دورات VB.net : الدرس الثاني
» دورات VB.net : الدرس الثالث
» الاستمرار في دورات الـ VB.net
» مناقشة دورات تعليم VB.net
صفحة 1 من اصل 1
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى
29/8/2010, 12:12 pm من طرف ايمــــ عزي ــــاني
» Planes Game
26/8/2010, 8:02 am من طرف Sniper
» الختمة الجماعية في رمضان
24/8/2010, 5:43 am من طرف M.Y.T
» بعد رحيل العشر الأول ...
23/8/2010, 11:53 pm من طرف *شمس الإسلام*
» رســـالــة مـــن ...؟؟!!
19/8/2010, 11:42 pm من طرف *شمس الإسلام*
» Happy Birthday To U
16/8/2010, 9:49 pm من طرف Sniper
» إحدى وعشرون نصيحة نحو صلاة الفجر
11/8/2010, 4:45 pm من طرف kenan.t
» ماذا تتمنى في هذه اللحظة ؟!
11/8/2010, 4:22 am من طرف M.Y.T
» برنامج Imageshackert
10/8/2010, 6:00 am من طرف STEEV
» كيف نستعد لرمضان
10/8/2010, 3:44 am من طرف M.Y.T