متغيرات VBScript: Dim، String، Boolean
⚡ ملخص ذكي
يستخدم تعريف المتغيرات في VBScript الكلمة المفتاحية Dim لحجز مساحة في الذاكرة للبيانات. يجب تعريف المتغيرات وتهيئتها بشكل منفصل، وعلى الرغم من أن VBScript يحتوي على نوع Variant واحد، إلا أنه يدعم أنواعًا فرعية مثل String وInteger وBoolean وCurrency وDate.

المتغيرات تشكل أساس البرمجة. يتم استخدام المتغيرات للاحتفاظ بقيمة أو تعبير. عندما يكون لديك جزء من البيانات للعمل معه، سيتعين عليك الإعلان عن متغير.
على سبيل المثال، إذا كان عليك تخزين أسماء الطلاب أو رواتب الموظفين، فسوف تستخدم متغيرات باسم الطلاب أو الرواتب.
يمكن أيضًا استخدام المتغيرات لعقد التعبيرات. لنفترض أنك قمت بتخزين علامات طالب في اللغة الإنجليزية والرياضيات باستخدام المتغيرين markE وmarkM.
تريد العثور على مجموع العلامات. بعد ذلك، يمكنك استخدام متغير اسمه markT وتعيين قيمته إلى markE + markM. بمعنى آخر، markT = markE + markM. هنا، markT هو متغير يحمل تعبيرًا.
إعلان المتغيرات
إن الإعلان عن المتغيرات هو نفس إنشاء المتغيرات لأنك تقوم بإرشاد الكمبيوتر لحجز مساحة في الذاكرة. يمكنك تسمية المتغير بالطريقة التي تريدها. يمكن أن تكون أسماء قصيرة مثل x أو y أو z أو أسماء أكثر وصفًا ذاتيًا مثل الطالب والاسم والراتب وما إلى ذلك. ويعتبر توفير أسماء واضحة وذات معنى للمتغيرات ممارسة برمجة جيدة.
توجد قواعد معينة لأسماء متغيرات VBScript.
- يجب أن يبدأ اسم المتغير بحرف. أمثلة: salary، mark، إلخ. لا يُسمح بالمتغيرات التي تبدأ بأرقام أو أحرف خاصة. أمثلة: 1stSchool، 3rdCar، _name، إلخ.
- لا يمكن أن يتجاوز اسم المتغير 255 حرفًا.
- يجب ألا يحتوي اسم المتغير على نقطة (.).
للإعلان عن المتغيرات، تحتاج إلى استخدام الكلمة الأساسية خافت. لنفترض أنك تخطط لاستخدام متغير يسمى "الراتب" في ملفك برنامج في بي سكريبت، بناء الجملة
Dim salary
مجرد الإعلان عن متغيرات VBS لن يساعدك على استخدامه. سيتعين عليك تعيين قيمة له في مرحلة أو أخرى وتعرف هذه العملية بتهيئة المتغير. إذا كنت تخطط للإعلان عن راتب مسمى بشكل متغير، فيمكنك الترميز على النحو التالي:
Dim salary
salary = 10000
الشيء المهم الذي يجب عليك التأكد منه هو أنه لا ينبغي عليك تعيين قيمة للمتغير عند إعلانه. لنفترض أنك تكتب عبارة مثل هذا:
Dim salary = 10000
إذا حاولت إخراج الراتب باستخدام document.write، فلن يُرجع أي مخرجات.
Code مثال
الخطوة 1) افتح محرر النصوص الخاص بك وأضف أسطر التعليمات البرمجية التالية.
<html> <head> <title>Variables</title> </head> <body> <script type="text/vbscript"> Dim variable1 variable1="John" document.write(variable1) 'Dim variable2 = "Smith" 'document.write(variable2) </script> </body> </html>
الخطوة 2) احفظ هذا الملف باسم variable.html في المكان المفضل لديك ثم افتحه في IE (باتباع الخطوات الموضحة في الفصل السابق). الآن، سترى القيمة John على المتصفح.
الخطوة 3) بعد ذلك، قم بإلغاء التعليق على السطر رقم 11 و12
احفظ الملف مرة أخرى وقم بتحديث متصفح IE إذا كان مفتوحًا بالفعل أو افتح الملف في متصفح IE. قد تتعجب من عدم رؤية أي شيء؛ لا جون ولا سميث. المشكلة هنا هي أنك حاولت إسناد القيمة للمتغير أثناء التصريح عنها وهو أمر غير مسموح به.
ملزمة فضفاضة
يوفر لك VBScript حرية استخدام المتغيرات دون الإعلان عنها (يسمى الربط غير المحكم). على سبيل المثال، بدون وجود العبارة Dim Student، يمكنك إسناد قيمة للمتغير Student مثل – Student = “John”
لكنها ليست ممارسة برمجة جيدة على الإطلاق. إذا كنت تستخدم متغيرًا دون الإعلان عنه وأخطأت في كتابة نفس المتغير عند استخدامه مرة أخرى، فلن يطالبك VBScript بالخطأ.
لذا، لتسهيل قراءة التعليمات البرمجية وتحديد الأخطاء، يجب عليك استخدام عبارة Option Explicit في بداية التعليمات البرمجية الخاصة بك بحيث ستضطر إلى الإعلان عن جميع المتغيرات الخاصة بك حتى لو نسيت القيام بذلك. لتجنب المشكلات المتعلقة بالنوع المتغير، من الجيد دائمًا تحديد عبارة Option Explicit في بداية تعليمات VBScript البرمجية.
Code على سبيل المثال:
الخطوة 1) افتح محرر النصوص الخاص بك وأضف أسطر التعليمات البرمجية التالية.
<html> <body> <script type="text/vbscript"> Option Explicit 'Dim markE, markM, markT markE=90 markM=86 markT=markE+markM document.write("Your marks in English is " & markE & "." & "<br />") document.write("Your marks in Mathematics is " & markM & "." & "<br />") document.write("Your total marks is " & markT & ".") </script> </body> </html>
الخطوة 2) احفظ الملف باسم variables.html في الموقع الذي تفضله. الآن، افتح الملف في متصفح إنترنت إكسبلورر، وستجد الشاشة فارغة. لماذا؟ لأنك استخدمت خيار Option Explicit دون تعريف المتغيرات قبل استخدامها.
الخطوة 3) الآن لفهم أهمية عبارة Option Explicit، قم بإلغاء التعليق على السطر 5 في الكود أعلاه
الخطوة 4) احفظ ملفvariables.html وقم بتحديث متصفحك. الآن سيكون الناتج الخاص بك مثل هذا:
ملاحظات - لربط سلسلتين، عليك استخدام "&". في المثال أعلاه، يتم استخدامه داخل أمر document.write. ومن الواضح أن حساب العلامات الإجمالية خاطئ. الآن فقط قم بإضافة العبارة الأولى Option Explicit في بداية كود VBScript (بدون العبارة Dim).
احفظ الملف وشاهد الإخراج. لن تحصل على أي شيء كإخراج يشير إلى أن الكود الخاص بك به بعض الأخطاء. الخطأ هنا هو أنك لم تعلن عن المتغيرات قبل استخدامها حتى بعد تحديد عبارة Option Explicit.
يمكنك أيضًا الإعلان عن المتغيرات باستخدام الكلمات الأساسية العامة والخاصة مثل طالب عام أو طالب خاص. ولكن عليك أن تكون أكثر حذرًا أثناء استخدام هاتين الكلمتين الرئيسيتين للإعلان عن المتغيرات لأنها ستغير نطاق المتغيرات الخاصة بك.
يمكنك أيضًا تخزين قيم متعددة في متغير واحد وتعرف هذه المتغيرات باسم مصفوفة VBScript المتغيرات. لنفترض أنك تريد تخزين تفاصيل مثل الاسم والعلامات والعناوين وما إلى ذلك لـ 30 طالبًا. سيكون من الصعب حقًا إنشاء وإدارة مجموعات من 30 متغيرًا للأسماء والعلامات والعناوين وما إلى ذلك.
بدلاً من ذلك، يمكنك الإعلان عن متغير واحد يسمى الطلاب وتخزين أسماء جميع الطلاب الثلاثين في هذا المتغير. في مثل هذه الحالة، ستعلن عن المتغير كطلاب Dim(30) (يبدأ فهرس المصفوفة من الصفر) وستقوم بتعيين القيم كـ
students(0) = "John" students(1) = "Hannah" students(2) = "Kevin" ....... ....... students(28) = "Rose" students(29) = "Emma"
وبالمثل، يمكنك إنشاء متغيرات مثل العلامات والعنوان وما إلى ذلك لتخزين القيم الخاصة بجميع الطلاب الثلاثين. يمكنك أيضًا إنشاء مصفوفات متعددة الأبعاد تحتوي على ما يصل إلى 30 بُعدًا.
Code على سبيل المثال:
افتح محرر النصوص الخاص بك وأضف أسطر التعليمات البرمجية التالية.
<html> <body> <script type="text/vbscript"> Option Explicit Dim students(19), marks(19) students(0) = "John" marks(0) = 95 students(1) = "Emma" marks(1) = "83" students(2) = "Kevin" marks(2) = 87 document.write(students(0) & " has scored " & marks(0) & ".<br />") document.write(students(1) & " has scored " & marks(1) & ".<br />") document.write(students(2) & " has scored " & marks(2) & ".<br />") </script> </body> </html>
هنا، قمنا بتخزين تفاصيل ثلاثة طلاب فقط. يمكنك إضافة تفاصيل تصل إلى 20 طالبًا لأننا قمنا بتعيين حجم المصفوفة على 20 (حيث يبدأ الفهرس من 0).
أنواع بيانات VBScript
في القسم السابق، ربما لاحظت أننا قمنا بتعيين أنواع مختلفة من البيانات للمتغيرات. لقد قمنا بتخزين الأرقام (العلامة والراتب)، والسلاسل (الاسم) وما إلى ذلك في متغيرات مختلفة.
تُعرف هذه الأرقام والسلاسل وما إلى ذلك باسم أنواع البيانات. في الواقع، يحتوي VBScript على نوع بيانات واحد فقط يسمى Variant. المتغير هو نوع خاص من نوع البيانات الذي يمكنه الاحتفاظ بأنواع مختلفة من المعلومات.
إذا كنت تستخدم Variant في سياق رقمي، فإنه يتصرف كرقم، وعندما تستخدمه في سياق سلسلة، فإنه يتصرف كسلسلة.
بمعنى آخر، عند تحديد الراتب = 10000، يفترض VBScript أن الراتب هو نوع بيانات رقمي. يقوم المتغير بعمل تمييزات محددة حول طبيعة البيانات. على سبيل المثال، يمكنك استخدام النوع المتغير لتخزين القيم المنطقية والعملة والتاريخ وما إلى ذلك.
تسمى هذه الفئات المختلفة من المعلومات التي يمكن تضمينها في متغير بالأنواع الفرعية. على الرغم من أن Variant يتصرف في معظم الأوقات بالطريقة الأكثر ملاءمة للبيانات التي يحتوي عليها، إلا أنه يجب أن تكون على دراية بالأنواع الفرعية المختلفة.
فيما يلي قائمة أنواع بيانات VBScript.
- فارغ: نوع فرعي خاص لتمثيل المتغير الذي لم يتم تعيينه بأي قيمة بعد.
- Null: نوع فرعي خاص لتمثيل متغير معين بقيمة فارغة.
- عدد صحيح: استخدام 2 بايت للتعبير عن عدد صحيح موقّع في النطاق من -32,768 إلى 32,767.
- طويل: استخدام 4 بايت للتعبير عن الأعداد الصحيحة الموقعة التي تتراوح من -2,147,483,648 إلى 2,147,483,647.
- مفرد: استخدام 4 بايت للتعبير عن أرقام حقيقية بتنسيق فاصلة عائمة تتراوح من -3.402823e38 إلى -1.401298e-45 للقيم السلبية، ومن 1.401298e-45 إلى 3.402823e38 للقيمة الموجبة.
- Double:استخدام 8 بايت للتعبير عن أرقام حقيقية بتنسيق فاصلة عائمة تتراوح من -1.79769313486232e308 إلى -4.94065645841247e-324 للقيم السلبية، ومن 4.94065645841247e-324 إلى 1.79769313486232e308 للقيم الإيجابية.
- العملة: استخدام 8 بايت للتعبير عن الأرقام الحقيقية بتنسيق عشري يتراوح من -922,337,293,685,477.5808 إلى 922,337,293,685,477.5807.
- التاريخ: استخدام 8 بايت للتعبير عن التواريخ التي تتراوح من 1 يناير 100 إلى 31 ديسمبر 9999.
- السلسلة: استخدام بايت واحد لكل حرف للتعبير عن سلسلة من الأحرف التي يمكن أن يصل عددها إلى ما يقرب من 1 مليار حرف.
- الكائن: نوع فرعي خاص يمثل مرجعًا لكائن ما.
- خطأ: نوع فرعي خاص لتمثيل رقم الخطأ.
- منطقي: استخدام 2 بايت لاحتواء إما True أو False.
- البايت: استخدام بايت واحد للتعبير عن عدد صحيح في النطاق من 1 إلى 0.
هناك نوعان مدمجان وظائف فب سكريبت التي تساعدك على معرفة النوع الفرعي للمتغير: “varType()” و “typeName()”.
يقوم النوع var بإرجاع التمثيل الرقمي ويقوم typeName() بإرجاع التمثيل النصي للنوع الفرعي للمتغير. يحتوي كل نوع فرعي على تمثيل رقمي محدد مسبقًا.
Code مثال
افتح محرر النصوص الخاص بك وأضف أسطر التعليمات البرمجية التالية.
<html> <head> <script type="text/vbscript"> Option Explicit Dim a a = Empty document.write("a = " & a & "<br />") document.write("The numeric representation of a is " & VarType(a) & "<br />") document.write("The variable a is of " & TypeName(a) & " data type." & "<br /><br />") Dim b b = Null document.write("b = " & b & "<br />") document.write("The numeric representation of b is " & VarType(b) & "<br />") document.write("The variable b is of " & TypeName(b) & " data type." & "<br /><br />") Dim c c = 4 document.write("c = " & c & "<br />") document.write("The numeric representation of c is " & VarType(c) & "<br />") document.write("The variable c is of " & TypeName(c) & " data type." & "<br /><br />") Dim d d = -2100483648 document.write("d = " & d & "<br />") document.write("The numeric representation of d is " & VarType(d) & "<br />") document.write("The variable d is of " & TypeName(d) & " data type." & "<br /><br />") Dim e e = -3.402823E38 document.write("e = " & e & "<br />") document.write("The numeric representation of e is " & VarType(e) & "<br />") document.write("The variable e is of " & TypeName(e) & " data type." & "<br /><br />") Dim f f = "John" document.write("f = " & f & "<br />") document.write("The numeric representation of f is " & VarType(f) & "<br />") document.write("The variable f is of " & TypeName(f) & " data type." & "<br /><br />") Dim g g = True document.write("g = " & g & "<br />") document.write("The numeric representation of g is " & VarType(g) & "<br />") document.write("The variable g is of " & TypeName(g) & " data type." & "<br /><br />") </script> </head> <body> </body> </html>
احفظ الملف باسم subtype.html وافتحه في IE. سيبدو الإخراج الخاص بك كما يلي:
ملاحظة: يمكنك أيضًا إعلان المتغيرات باستخدام جمهور و خاص الكلمات الرئيسية مثل طالب عام أو طالب خاص. ولكن عليك أن تكون أكثر حذرًا أثناء استخدام هاتين الكلمتين الرئيسيتين للإعلان عن المتغيرات لأنها ستغير نطاق المتغيرات الخاصة بك.
فحص الجهاز
في حالة ظهور صفحة فارغة بعد تشغيل الكود، قم بما يلي
- اضغط على F12 لفتح أدوات المطور
- في شريط الأدوات الأيسر، قم بالتمرير لأسفل حتى ترى صفحة إعدادات "المحاكاة".
- قم بتغيير وضع المستند من الوضع الافتراضي ("الحافة") إلى 10
- أضف الكود التالي إلى الرأس
<meta http-equiv="x-ua-compatible" content="IE=10">


