أي لغة برمجة ينقسم تعليمها إلى قسمين :
1- تعليم كتابة الكود وبنى التعليمات
2- تعليم العناصر والأغراض المستخدمة في واجهة المستخدم
(خصائصها
- برمجتها
- طرقها
- بناءها
)وبالنسبة لنا سنبدأ بتعلم البند الأول وهو الكود وكتابته .. لذلك سنعتمد حالياً في أمثلتنا القادمة على شاشة سطور الأوامر
Consol Application أسلوب كتابة صيغ التعليمات
عندما سنذكر أي تعليمة أثناء الدورة سنكتب صيغتها .. وتضمن الصيغة بعض الاصطلاحات سنذكرها الآن من خلال هذا المثال :
كود: Command name (A, {B|C|D} ,[E] ) |
◄ كل شيء بدون أقواس يجب كتابته أو كتابة ما يعوضه
◄ كل شيء ضمن أقواس مجموعات يجب عليك اختيار شيء واحد منها فقط ويفصل بينها بإشارة |
◄ كل شيء بين اقواس مربعة يكون اختياري مكن أن نستخدمه أو لا نستخدمه حسب رغبتنا
الثوابت
عندما نستخدم أرقاماُ في برنامجنا كثيرة .. أو نستخدم كلمات متكررة .. ونحتاج فيما بعد إلى تغيير رقم منها أو كلمة ما .. فإن تتبع هذه الأرقام في الشفرة يكون صعباً ... أيضاً تكون غير مفهومة في الكود إذا ما رجعنا لتعديله مستقبلاً ، لذلك ينصح في هذه الحالات أن نستخدم الثوابت
الثابت
Constant : هو مكان الذاكرة ستخدم لحفظ قيمة ما .. ويعطى كل ثابت اسم خاص به ولا يمكن تغيير قيمة الثابت ضمن البرنامج ..
يتم التصريح عن الثوابت في
VB باستخدام كلمة
Const وفق هذه الصيغة
كود: Const name [As Type] = initexpr |
Name : اسم الثابت
Type : تحديد نمط الثابت
Initexpr : قيمة الثابت
يمكن التصريح عن أكثر من ثابت واحد بنفس تعليمة الـ
const وذلك بسردها بشكل متتالي بحيث يفصل بينها فاصلة عادية
مثال :
كود: Imports System.Console Module Module1 Sub Main() Const ForumGreeting = "Welcome To Arab Moheet " WriteLine(ForumGreeting) End Sub End Module
|
مثال آخر على تعريف أكثر من ثابت واحد:
كود: Const ForumGreeting = "Welcome To Arab Moheet " , ForumManager = "عبد الله جابر شقلية" , SubForumNumber = 35 |
أنماط التعداد
تستخدم أنماط التعداد من أجل تعريف عدد من الثوابت وجمعها ضمن مجموعة واحدة .. الفائدة من هذه المجموعات كبيرة جداً أحدها أننا نتخلص من مشكلة استخدام اسم الثابت أكثر من مرة للدلالة على أكثر من قيمة ، أيضاً استخدام كلمات محجوزة يصبح ممكناً في هذه الحالة .. ولكننا نستطيع أن نستخدم فقط قيم رقمية من نوع صحيح ... اي أحد الأنواع :
Byte
Short
Integer
Longنستخدم لذلك تعليمة
ENUM . صيغة التعليمة
كود: Enum name [As Type] member1 [=initexpr1] member2 [=initexpr2] member3 [=initexpr3] . . . End Enum |
مثال :
كود: Imports System.Console Module Module1
Enum dayes Sat = 1 Sun = 2 Mon = 3 Tue = 4 Wed = 5 Thu = 6 Fri = 7 End Enum
Sub Main() WriteLine("this is " & dayes.sat) End Sub
End Module
|
المتحولات Variables
المتحولات أماكن في الذاكرة تستخدم لتخزين بيانات ، هي مثل الثوابت تماماً مع خلاف أنها قابلة لتعديل قيمها أثناء سير البرنامج . وهي يتم التصريح عنها باستخدام التعليمة
Dim وفق هذه الصيغة :
كود: Dim name [As [New] Type] [=initexpr] |
Name : اسم المتحول
New : تستخدم عند رغبتنا بإنشاء
(غرض
) جديد مباشرة عند التصريح عنه
Type : تحديد نمط المتحول ، إذا لم يتم تحديد نمط المتحول يعتبر أنه من نوع القيمة البدائية له وإذا لم يكن له قيمة بدائية يعتبر من النوع
Object ، وإذا أردنا تعريف أكثر من متحول من نفس النوع نضع أسماؤهم بشكل متتالٍ يفصل بينهما بفاصلة
Initexpr : القيمة البدائية للمتحول . وإذا لم تحدد هذه القيمة تعطى قيمة الصفر لجميع المتحولات من النمط العددي ومن نمط
Boolean القيمة
False ومن باقي الأنماط القيمة
Nothingمثال :
كود: Dim memberID as Integer Dim memberName as String = "SomeOne" Dim A,B as Byte , C ,D as string |
المصفوفات : المصفوفة هي عبارة عن متحول يحتوي على أكثر من خانة لتخزين القيم ضمنه
(بشكل يشبه الجدول
) ويتم الإشارة إلى تلك الخانات من خلال أرقام تبدأ عادةً من الرقم صفر .. ويتم تعريف المصفوفة كما يلي
كود: Dim name(BoundList) [As [New] Type] [=initexpr] |
Boundlist : تدل على أبعاد المصفوفة
مثال :
كود: Dim A(5) as Integer : مصفوفة ذات بعد واحد Dim B(3,1) as string : مصفوفة ذات بعدين |
في السطر الأول عرفنا مصفوفة اسمها
A تحتوي ست خانات لتخزين القيم .. أول خانة اسمها
A(0) وآخر خانة اسمه
A(5)في السطر الثاني عرفنا مصفوفة اسمها
B تحتوي على ثماني خانات هي :
كود: A(0,0) A(0,1) A(1,0) A(1,1) A(2,0) A(2,1) A(3,0) A(3,1) |
المصفوفات الديناميكية :المصفوفة الديناميكية هي مصفوفة عدد عناصرها لا يعين عند تعريفها .. بل يتم تعيينه أثناء سير البرنامج
لتعريف مصفوفة ديناميكية نستعمل تعليمة
Dim مع إبقاء ما بين الأقواس فارغاً .. ثم أثناء سير البرنامج عندما نود تعيين أبعاد هذه المصفوفة نستعمل تعليمة
ReDim وفق هذه الصيغة :
كود: ReDim ArrName(subscripts)
|
ArrName : اسم المصفوفة التي سبق تعريفها بتعليمة
Dim مع بقاء الأقواس فارغة
subscripts : الأبعاد
مثال
كود: Module Module1 Sub Main() Dim ArrStr() As String
. . . ReDim ArrStr(10) ArrStr(0) = "String 0" . . . ReDim ArrStr(100) ArrStr(77) = "String 77" End Sub End Module
|
نلاحظ من المثال السابق أن تعليمة
ReDim ممكن استخدامها أكثر من مرة لتغيير أبعاد نفس المصفوفة أثناء سير البرنامج
قواعد التسمية في VB.NET عندما نختار اسم لثابت أو متحول أو أي كائن يجب أن نتقيد ببعض القواعد وهي :
1- أن يبدأ الاسم بحرف أبجدي
2- أن لا يحتوي على عوامل رياضية وبعض الرموز مثل
+ - / \ = * # ^ ؟ ! > < : ' الأقواس ، الأقواس المربعة ، أقواس المجموعات ، الفواصل العادية ، الفواصل المنقوطة .... 3- لا يمكن استخدام الكلمات المحجوزة مثل :
name - Dim - Const .... الخ
أنماط المعطيات في VB.NET ♦ Boolean : حجمه:
2 بايت ، قيمه :
True أو
False♦ Byte : حجمه :
1 بايت ، قيمه :
0 إلى
255♦ Char : حجمه :
2 بايت ، قيمه :
0 إلى
65534♦ Date : حجمه :
8 بايت ، قيمه : من
1/1/0001 إلى
31/12/9999♦ Decimal : حجمه :
16 بابت ، قيمه : رقم من
29 خانة تقريباً
(ممكن مع فواصل أو بدون
)♦ Double : حجمه :
8 بايت ، قيمه : رقم يقبل عدد كبير من الأرقام بعد الفاصلة
♦ Single : حجمه :
4 بايت ، قيمه : رقم يقبل عدد كبير من الأرقام بعد الفاصلة ولكن أقل من النوع
Double♦ Integer : حجمه :
4 بايت ، قيمه : من
-2147483648 إلى
+ 2147483647♦ Long : حجمه :
8 بايت ، قيمه : من
-922337203685477808 إلى
+922337203685477807♦ Object : حجمه :
4 بايت ، قيمه : أي نمط يمكن أن يخزن في متحول من نوع
Object♦ Short : حجمه :
2 بايت ، قيمه : من
-32768 إلى
+ 32767♦ String : يعتمد الحجم على نظام التشغيل ، قيمه : من
0 إلى
2 مليار حرف تقريباً
ويمكن للمبرمج أن يعرف أنماط
Structure خاصة به .