-المتحولات الخاصة: ويصرح عنها ضمن الإجرائية (الحدث)، وعمر هذه المتحولات يساوي فترة استدعاء الإجرائية، أما مجال رؤيتها فهو داخل الإجرائية فقط، ويتم التصريح عن المتحولات بالشكل:
Dimاسم متحول As نوع معطيات
أنواع المعطيات المتوفرة في VB5 :
إليك الجدول التالي الذي يبين أنواع المعطيات المتوفرة في Visual Basic:
نوع المعطيات
الحجم في الذاكرة
المجال
Byte
1 Byte
0 To 255
Boolean
2 Bytes
True Or False
Integer
2 Bytes
- 32,768 To 32,767
Long
4 Bytes
+2,147,483,647 To -2,147,483,648
Single
4 Bytes
-3.402823E-38 To -1.401298E-45
+1.401298E-45 To 3.402823E38
Double
8 Bytes
4.94065645841247E-324 To 1.79769313486232E308
Currency
8 bytes
-922,337,203,685,477.5808 To 922,337,203,685,477.5807
Date
8 bytes
January 1, 100 To December 31, 9999
String
Length of string
1 to approximately 65,400
Variant
with numbers
16 Bytes
Any numeric value up to the range of a Double
Variant
With characters
22 Bytes + string length
Same range as for variable-length String
User-defined
Number required by elements
The range of each element is the same as the range of its data type.
مثال1:
1- ابدأ بمشروع جديد.
2- ضع زر أوامر.
3- في الحدث Command1_Click اكتب الشفرة:
Dim x AS Integer
Dim y AS Integer
Dim z AS Integer
x = 3
y = 5
z = x + y
Print z
يقوم هذا البرنامج بالتصريح عن ثلاث متحولات خاصة في الحدث Click التابع لزر الأوامر، ومن ثم يقوم بعملية جمع عددين وإظهار النتيجة.
مثال 2:
1- استبدل الشفرة السابقة بما يلي:
Dim x AS Integer
x = x + 1
Print x
2- نفذ هذا البرنامج، واضغط على الزر عدة مرات ستجد أنه في كل مرة سيُطبع العدد واحد على الشاشة رغم أننا نزيد قيمة x، وذلك لأن x متحول خاص ينتهي عمره بمجرد انتهاء الضغط، ويتولد من جديد عند بداية الضغط.
3- ضع زر أوامر ثاني Command2 واكتب في الحدث Click :
Print x
ثم نفذ البرنامج واضغط على الزر ستجد أنه يتم طباعة صفر في كل مرة، وذلك لأن المتحول x غير مُعرف بالنسبة للزر الثاني.
2- المتحولات العامة على مستوى النافذة:
يتم التصريح عن هذه المتحولات في القسم General-Declarations على الشكل:
1- نظهر نافذة الشيفرة بأي طريقة كانت .
2- من القائمة اليسرى نختار القسم General.
3- من القائمة اليمنى نختار القسم Declarations .
وفي هذا القسم يتم التصريح عن المتحولات العامة على مستوى النافذة أي المتحولات التي ستُرى من قبل جميع الأدوات والإجراءات والدوال الموجودة على هذه النافذة ، وستحافظ هذه المتحولات على قيمتها ابتداء من لحظة تحميل النافذة إلى الذاكرة ولغاية إزالتها من الذاكرة .
مثال:
1- إدخل إلى قسم التصريحات العامة General-Declarations وصرح عن متحول من نوع عدد كسري:
Dim x AS Integer
المتحول x سيكون معروف لدى جميع الأدوات الموجودة على النافذة .
2- ضع زر أوامر Command1 واكتب في الحدث Command1_Click :
x = x + 1
Print x
3- ضع زر أوامر Command2 واكتب في الحدث Command2_Click :
Print x
4- نفذ البرنامج ثم اضغط على الزر الأول، ستجد أنه كلما ضغطت على الزر ستزداد قيمة x بمقدار واحد وستُطبع القيمة الجديدة، اضغط على الزر الثاني ستجد أنه سيطبع قيمة x، أي أنه يعرف المتحول x.
ملاحظة:
بالنسبة للمتحولات العامة على مستوى المشروع، والمتحولات الساكنة فسنأتي على شرحهما لاحقاً.
Dimاسم متحول As نوع معطيات
أنواع المعطيات المتوفرة في VB5 :
إليك الجدول التالي الذي يبين أنواع المعطيات المتوفرة في Visual Basic:
نوع المعطيات
الحجم في الذاكرة
المجال
Byte
1 Byte
0 To 255
Boolean
2 Bytes
True Or False
Integer
2 Bytes
- 32,768 To 32,767
Long
4 Bytes
+2,147,483,647 To -2,147,483,648
Single
4 Bytes
-3.402823E-38 To -1.401298E-45
+1.401298E-45 To 3.402823E38
Double
8 Bytes
4.94065645841247E-324 To 1.79769313486232E308
Currency
8 bytes
-922,337,203,685,477.5808 To 922,337,203,685,477.5807
Date
8 bytes
January 1, 100 To December 31, 9999
String
Length of string
1 to approximately 65,400
Variant
with numbers
16 Bytes
Any numeric value up to the range of a Double
Variant
With characters
22 Bytes + string length
Same range as for variable-length String
User-defined
Number required by elements
The range of each element is the same as the range of its data type.
مثال1:
1- ابدأ بمشروع جديد.
2- ضع زر أوامر.
3- في الحدث Command1_Click اكتب الشفرة:
Dim x AS Integer
Dim y AS Integer
Dim z AS Integer
x = 3
y = 5
z = x + y
Print z
يقوم هذا البرنامج بالتصريح عن ثلاث متحولات خاصة في الحدث Click التابع لزر الأوامر، ومن ثم يقوم بعملية جمع عددين وإظهار النتيجة.
مثال 2:
1- استبدل الشفرة السابقة بما يلي:
Dim x AS Integer
x = x + 1
Print x
2- نفذ هذا البرنامج، واضغط على الزر عدة مرات ستجد أنه في كل مرة سيُطبع العدد واحد على الشاشة رغم أننا نزيد قيمة x، وذلك لأن x متحول خاص ينتهي عمره بمجرد انتهاء الضغط، ويتولد من جديد عند بداية الضغط.
3- ضع زر أوامر ثاني Command2 واكتب في الحدث Click :
Print x
ثم نفذ البرنامج واضغط على الزر ستجد أنه يتم طباعة صفر في كل مرة، وذلك لأن المتحول x غير مُعرف بالنسبة للزر الثاني.
2- المتحولات العامة على مستوى النافذة:
يتم التصريح عن هذه المتحولات في القسم General-Declarations على الشكل:
1- نظهر نافذة الشيفرة بأي طريقة كانت .
2- من القائمة اليسرى نختار القسم General.
3- من القائمة اليمنى نختار القسم Declarations .
وفي هذا القسم يتم التصريح عن المتحولات العامة على مستوى النافذة أي المتحولات التي ستُرى من قبل جميع الأدوات والإجراءات والدوال الموجودة على هذه النافذة ، وستحافظ هذه المتحولات على قيمتها ابتداء من لحظة تحميل النافذة إلى الذاكرة ولغاية إزالتها من الذاكرة .
مثال:
1- إدخل إلى قسم التصريحات العامة General-Declarations وصرح عن متحول من نوع عدد كسري:
Dim x AS Integer
المتحول x سيكون معروف لدى جميع الأدوات الموجودة على النافذة .
2- ضع زر أوامر Command1 واكتب في الحدث Command1_Click :
x = x + 1
Print x
3- ضع زر أوامر Command2 واكتب في الحدث Command2_Click :
Print x
4- نفذ البرنامج ثم اضغط على الزر الأول، ستجد أنه كلما ضغطت على الزر ستزداد قيمة x بمقدار واحد وستُطبع القيمة الجديدة، اضغط على الزر الثاني ستجد أنه سيطبع قيمة x، أي أنه يعرف المتحول x.
ملاحظة:
بالنسبة للمتحولات العامة على مستوى المشروع، والمتحولات الساكنة فسنأتي على شرحهما لاحقاً.



سلام عليكم ورحمة الله وبركاته
Comment
Advanced mode Normal mode