المتغيرات Variables في الفيجول بيسك
المتغير هو مكان يُحجز فى ذاكرة الحاسب لتخزين قيمة معينة هذه القيمة يمكن لها أن تتغير أثناء تشغيل البرنامج ، وهذا المتغير له اسم ونوع وحجم وقيمة.
قواعد تسمية المتغيرات
- - أن يبدأ اسم المتغير بحرف أبجدى أو علامة _ ( الشرطة التحتية )
- - يمكن أن يحتوى اسم المتغير على أرقام أو حروف أو علامة .
- -عدم استخدام الكلمات المحجوزة للغة Keyboard
- - عدم استخدام أى علامات غير علامة الشرطة التحتية
- - عدم استخدام المسافات داخل اسم المتغير
- - لا يجب أن يتعدى اسم المتغير ٢٥٥ حرف
- - عدم استخدام اسم لمتغير آخر فى نفس مجال الرؤية
تحديد نوع المتغير
يتم تحديد نوع المتغير من الأنواع التى تم عرضها فى الجداول السابقة أو من الأنواع الأخرى الموجودة فى لغة فيجوال بيزك دوت نت ، ويراعى عند تحديد نوع المتغير أن يكون النوع مناسب للقيمة التى سيتم إسنادها إليه وأن يكون المدى المسموح به لهذا النوع مناسب لأقصى قيمة سيتم تخزينها فيه.
مثال :
إذا أردت كتابة برنامج لحساب النسبة المئوية لمجموع طالب فى المرحلة الثانوية ، فما هى المدخلات والمخرجات الخاصة بالبرنامج وأنواع البيانات المناسبة لكل منها مدخلات البرنامج ستكون ( درجة الطالب – المجموع الكلى ) مخرجات البرنامج ( النسبة المئوية )
# أنواع البيانات المناسبة
بالنسبة للمدخلات فدرجة الطالب ستكون رقم يبدأ من الصفر وينتهى عند المجموع الكلى ، ( ٣٥٣ ويمكن أن تكون الدرجة رقما صحيحا ( ٣٢٠ ) أو ربما تحتوى على جزء عشرى ( ٥ وبالنسبة للمجموع الكلى فسيكون رقما صحيحا ثابتا وليكن ( ٤١٠ ) فالنوع المناسب له هو لآنها يمكن أن تحتوى على جزء Single ودرجة الطالب ستكون من النوع UShort أو Short عشرى. أما بالنسبة للمخرجات فستكون رقم يبدأ من الصفر وينتهى عند ١٠٠ وأيضا يمكن أن يتضمن .Single ٩٢٢ ) فالنوع المناسب له هو جزء عشرى ( ٨ 1⃣حجم المتغير ( المدى المتاح له فى الذاكرة ) : هى Bit وال Bit والتى تحتوى بدورها على عدد ٨ Byte يُقاس حجم المتغير بوحدة البايت أصغر وحدة تخزين فى الحاسب حيث يُخزن بها رقم ( ١ ) أو ( ٠ ) بالنظام الثنائى ( لغة الآلة )
2- قيمة المتغير :
هى القيمة التى تُسند إليه والتى يمكن أن تتغير أثناء تشغيل البرنامج ويجب أن تقع هذه من الخطأ أن تُسند له SByte القيمة فى المدى المسموح به لنوع المتغير فمثلا متغير من نوع قيمة مثل ١٩٠ لآن أقصى قيمة مسموح بها لهذا النوع هى ١٢٧
الاعلان عن المتغير Declaring Variable
يجب الإعلان عن أى متغير قبل استخدامه وعملية الإعلان تتضمن إنشاء المتغير وتحديد اسمه ونوعه وبناء على النوع المحدد للمتغير يتم حجز المساحة اللازمة فى الذاكرة
صيغة الإعلان عن المتغير:
Dim [Variable Name] As Data Type
للإعلان عن المتغير Dim تستخدم الكلمة المحجوزة وفق قواعد تسمية المتغيرات Variable
Name يتم تحديد اسم المتغير As ثم تكتب الكلمة المحجوزة Data Type ثم يتم تحديد نوع المتغير
الاعلان عن المتغيرات Declarin Variable
يجب الإعلان عن أى متغير قبل استخدامه وعملية الإعلان تتضمن إنشاء المتغير وتحديد اسمه ونوعه وبناء على النوع المحدد للمتغير يتم حجز المساحة اللازمة فى الذاكرة
صيغة الإعلان عن المتغير في الكود :
Dim [Variable Name] As [Data Type]
للإعلان عن المتغير Dim تستخدم الكلمة المحجوزة Name اسم المتغير اسم اختياري As ثم تكتب الكلمة المحجوزة Data Type ثم يتم تحديد نوع المتغير 📝مثال:
Dim Student_Mark As Short Dim FirstName As String Dim Status4 As Boolean
ويمكن الإعلان عن أكثر من متغير من نفس النوع بهذا الشكل :
Dim A, B, C As Byte
اسناد قيمه المتغير Assignment
يتم إسناد القيم للمتغيرات بهذا الشكل :
[Variable Name] = [Value]
يُكتب اسم المتغير ثم علامة الإسناد = ثم القيمة والقيمة يمكن أن تكون قيمة مباشرة مثل :
Student_Mark = 120
مثل : Expression ويمكن أن تكون تعبير
Student_Mark = 9 * 6
ويمكن أن تكون قيمة من متغير آخر مثل :
Student_Mark = C
ويمكن إسناد قيمة للمتغير أثناء الإعلان عنه :
Dim Student_Mark As Integer = 180
ملاحظات مهمه
عند تخصيص اي قيمة للمتغيرات الرقمية فاننا نعطيه بشكل مباشر بدون وضع اقواس مثل
x = 5
بيناما اذا كنت تريد تخصيص قيمة نصية يجب انك تعطيها القيمة بين علامتي التنصيص بهذا الشكل “ القيمة “ مثل
s =“Ali”
بينما تخصص التاريخ للمتغير الذي من Date يكون بين العلامتين # سنة/يوم/شهر# مثل
d = #02/29/2012#
واريد ان انبهك ان المتغيرات الرقمية التي لا تاخذ اي قيمة تكون قيمتها الافتراضية هي 0 و تكون القيمة الافتراضي للمتغيرات النصية تكون"" وهي تعني ان المتغير فارغ لا يوجد نص به واذا كان متغير منطقي تكون القيمة الافتراضية
الثوابت constants في الفيجول بيسك
الثابت هو مكان يُحجز فى ذاكرة الحاسب لتخزين قيمة معينة هذه القيمة لا يمكن أن تتغير أثناء تشغيل البرنامج ، ويتم تسمية الثوابت بنفس قواعد تسمية المتغيرات.
ويتم الإعلان عن الثوابت بهذه الصورة :
Const [Constant Name] As [Data Type] = [Value]
للإعلان عن الثوابت ، والإعلان عن الثابت يجب أن يشمل Const تستخدم الكلمة المحجوزة إسناد قيمة له والسبب هو أنه لا يمكن تغيير هذه القيمة بعد الإعلان عنه
والفرق بين الثابت والمتغير فى طريقة إسناد القيمة هى أن الثابت يجب أن تضع القيمة المجردة مباشرة أو تستخدم تعبير يُنتج قيمة رقمية أو نصية ولا يمكن أن تستخدم أسماء متغيرات أخرى أو تستدعى دوال فى تعبير لإسناد قيمة للثابت.
أمثلة :
إسناد قيمة مجردة مباشرة ( صحيح )
Const X As Byte = 90 Const FirstName As String = "Sameh"
إسناد قيمة من تعبير ( صحيح )
Const Mark As Integer = 9 * 3
إسناد قيمة من متغير ( خطأ )
Const Z As Single = B
هو متغير رقمى B علما بأن إسناد قيمة من تعبير يحتوى على دالة ( خطأ )
Const Total As Short = Fix(a)
نطاق رؤية المتغيرات والثوابت
والمقصود بنطاق الرؤية هو الأماكن التى يكون فيها المتغير أو الثابت مرئيا بحيث يمكن استخدامه ، فإذا تم الإعلان عن متغير داخل إجراء معين ( الإجراء هو جزء من الكود له اسم محدد ويتم تنفيذه باستدعاءه أو عند وقوع حدث معين ) فى هذه الحالة لايمكن استخدام هذا المتغير خارج هذا الإجراء مثال
Private Sub Calc() Dim Number1 As Integer End Sub
هذا المتغير لا ، Calc داخل الإجراء المسمى Number تم الإعلان عن متغير رقمى باسم 1 Calc يمكن استخدامه خارج نطاق الإجراء أما إذا تم الإعلان عن المتغير داخل وحدة الكودد الرئيسية فسيكون مرئيا داخل جميع الإجراءات التى تتضمنها هذه الوحدة
Module Module1 Dim Number1 As Integer Sub Main() End Sub Private Sub Calc() End Sub End Module
والتى تضم بداخلها Module فى هذا المثال تم الإعلان عن المتغير داخل وحدة الكود 1 فى هذه الحالة يمكن استخدام المتغير فى أى مكان داخل ، Calc والإجراء Main الإجراء Calc و Main الوحدة وأيضا داخل الإجراءات
طريقه الاعلان عن المتغيرات في الكود