# في بي سكريبت

في بي سكريبت (بالإنجليزية: VBScript)‏ هي لغة سكريبت (نصية) تعمل في بيئة إنترنت، وتتشابه في مفاهيمها البرمجية مع لغة فيجوال بيسك مع بعض التعديلات التي تتلاءم مع طبيعتها المتعاملة مع الإنترنت. الـ VB Script هي اختصار لـ Visual Basic Scripting Edition.

## ظهورها

ظهرت هذه اللغة المبسطة المشتقة من اللغة الأم Visual Basic اثر ظهور JavaScript المعقدة بعض الشيء، والتي أنشئت لحل مشكلة بطأ تبادل البيانات بين الخادم وجهاز العميل إذ تأخذ عملية طلب المعلومات من جهاز العميل وإرسالها للخادم ومعالجاتها وإعادة إرسالها زمناً ليس بالقصير، حيث تتميز بإمكانيتها معالجة البيانات على الجهاز العميل.

## مميزات اللغة

* أكثر مرونة من لغات البرمجة النصية المعروفة، فهي لاتفرق بين الأحرف الكبيرة والصغيرة في أسماء المتغيرات والثوابت
* تعتبر أحد أبسط لغات البرمجة التي يمكن البرمجة بها في صفحات الـ ASP

## بين الـ VB SCript و HTML

تتحكم الـVB Script بالصفحات بشكل أوسع مما تتحكم بها لغة الـ لغة ترميز النص الفائق HTML، فيمكن إضافة بعض المميزات بواسطتها لتسمح للمستخدم بالتفاعل مع الصفحات، مثال ذلك:
* استخدام مربعات الإدخال [InPutBox] لأخذ قيم من المستخدم.
* إظهار رسائل للمستخدم بواسطة صندوق الرسائل [MsgBox].
أما لغة الـلغة ترميز النص الفائق فتتميز بكونها لغة عرض فقط، بمعنى أن مانكتبه في الصفحة سيظهر لنا عند العرض كبرنامج الورد تماما. ويمكن استخدام أكواد الـلغة ترميز النص الفائق داخل أكواد لغة الـ VB Script مع وضع علامتي التنصيص حول هذه الأكواد حتى يتم التعامل معها كأكواد لغة ترميز النص الفائق عادية. أي أن اللغتين متكاملتين، كلاهما مكمل للآخر.

## بداية مع لغة الـ VB Script

يمكن كتابة أكواد اللغة داخل أي محرر نصوص عادي مثل:
* نوتباد
* نوتباد++
* مايكروسوفت وورد
* مايكروسوفت فرونت بيج
أو أي برنامج نصي آخر، ومن ثم يتم حفظ الصفحة كصفحة ويب للعرض بواسطة أحد مستعرضات الويب.
تُعرف أكواد اللغة ويتم إضافتها داخل أكواد لغة الـلغة ترميز النص الفائق الأساسية المعتادة وذلك عن طريق إضافة القن التالي:
<html>
<body>
<script language="VBScript">
</script>
</body>
</html>
أحد أبسط الأمثلة على هذه اللغة، عرض نص بسيط على شاشة المتصفح، باستخدام الأمر document.write
<html>
<body>
<script language="VBScript">
document.write("Hello World, This My First VB Page")
</script>
</body>
</html>
ستظهر على شاشة المستخدم جملة:
Hello World, This My First VB Page

## تعريف المتغيرات وإسناد القيم

تُعرف المتغيرات في لغة الـ VBScript عن طريق الكلمة المحجوزة Dim، ويشترط عند حجز المتغيرات ملاحظة عدة أمور:
* يجب أن يبدأ المتغير بحرف
* لايمكن استخدام أحد الأحرف أو الرموز الخاصة من أمثال # % & % ! وغيرها
* لايمكن أن يزيد طول المتغير عن 255 حرفا
* لايمكن استخدام أحد الكلمات المحجوزة في اللغة مثل: document، Write، vbcolor، sub وغيرها
ومثال ذلك:
<html>
<body>
<script language="VBScript">
Dim Num,swel
num=10
swel=«أهلا وسهلا بكم في صفحتي الأولى»
document.write swel
document.write «العدد الذي قمت بإدخاله هو:» & num
</script>
</body>
</html>
عند تعريف المتغيرات في لغة الـ VBScript لا يتم تعيين نوع بيانات لهذه المتغيرات، وعند إسناد القيم يتم إسنادها بواسطة عملية مساواة عادية.
ماسيظهر على الشاشة عند تطبيق الكود السابق هو:
أهلا وسهلا بكم في صفحتي الأولى
العدد الذي قمت بإدخاله هو: 10

## تعريف الثوابت وإسناد القيم لها

الثوابت هي قيم ثابتة مخزنة تحت اسم معين، لاتتغير قيمتها أثناء تشغيل الكود. يُغنى استخدام الثوابت عن تمرير القيمة عدة مرات أثناء الكود البرمجي. تُعرف الثوابت في لغة الـ VBScript عن طريق الكلمة المحجوزة Const، ويشترط لها مايُشترط للمتغيرات.
<html>
<body>
<script language="VBScript">
Const Num
num=10
document.write num^4*2 + num/3
</script>
</body>
</html>
ماسيظهر على الشاشة عند تطبيق الكود السابق هو: ناتح العملية الحسابية
num^4*2 + num/3

### أمثلة لبعض الثوابت

يوجد بعض الثوابت المحجوزة والمنشئة سابقا ً في لغة الـ VBScript والتي يمكن استعمالها مباشرة كثوابت الألوان
* VBYellow
* VBRed
* VBMagenta
* VBBlack

## الشروط

تييح الـVB Script عملية بحث الشروط داخل بنيتها، تُفيد هذه العملية في تحديد المسارات والحالات التي قد تواجه المستخدم.
* يمكن استخدام الجملة الشرطية IF—Then—elseif—then--..........--else—End If
<html>
<body>
<script language="VBScript">
dim num
num=inputbox(«أدخل رقما», «طلب ادخال رقم»)
If num>= 200 then
</script>
</body>
</html>
* كما يمكن استخدام جمل الـ Select case—case—case--.......-- case else—end select
<html>
<body>
<script language="VBScript">
dim str
str=inputbox(«أدخل شهر ميلادك»)
</script>
</body>
</html>

## الحلقات التكرارية

تُفيد الحلقات التكرارية في منع المبرمج من تكرار الأسطر البرمجية، وهي بذلك تختصر الأكواد إلى أكواد أقل حجما، وتسْهل لاحقا عملية تعديلها ومراجعتها.
يوجد نوعين من الحلقات التكرارية في لغة الـ VB Script
* حلقات تكرارية منتهية
* الحلقات تكرارية شرطية

### الحلقات التكرارية المنتهية

سُميت بالحلقات التكرارية المنتهية لأنها تقوم بتكرار نفسها عدد من المرات، ثم تتوقف بعد إيفاء هذا العدد مباشرة، من أمثلتها حلقات For بنية جملة For في الـ VB Script
<html>
<body>
<script language="VBScript">
dim i
for i=1 to 15 step 1
document.write «أهلا وسهلا»
Next
</script>
</body>
</html>
في المثال السابق يتم طباعة جملة أهلا وسهلا على الشاشة لخمسة عشرة مرة، بعد ذلك تتوقف الحلقة عند وصول العداد للرقم 15

### الحلقات التكرارية الشرطية

وهي حلقات تكرارية أيضا، لكن تختلف عن النوع السابق في عدم تحديد عدد مرات التكرار منذ البداية، بل تشترط شرط، انتفاء الشرط أو تحققه هو مايحدد إمكانية استمرار الحلقة من عدمها من أمثلة الحلقات التكرارية الشرطية:
* Do—While—Loop
* Do—Uutil—Loop
الفرق ما بين الحلقتين السابقتين هو في موضع الشرط الخاص بالجملة، فالحلقات من النوع الأول تستمر طالما الشرط محقق بها، أما الحلقات من النوع الثاني فتستمر طالما الشرط غير محقق، وتقف عند تحقق هذا الشرط.

## دوال مشهورة

بعض الدوال المشهورة في هذه اللغة:
| | الدالة | وظيفتها | مـثــال | نتيجة المثال |
| 1 | "النص"MsgBox | تظهر مربع رسالة | "أهلا وسهلا "MsgBox | يظهر للمستخدم مربع رسالة يحمل النص أهلا وسهلا |
| 2 |Time | تعرض الوقت الحالي | msgbox (time) | يظهر للمستخدم مربع رسالة يحمل الوقت الحالي 1:11 AM |
| 3 |Date | تعرض التاريخ الحالي | msgbox(Date) | يظهر للمستخدم مربع رسالة يحمل التاريخ الحالي 14-6-2007 |
| 4 |Now | تعرض الوقت والتاريخ الحاليين |Document.write Now | يطبع على الشاشة 1:11Am 14-6-2007 |
| 5 | ("الرسالة الظاهرة للمستخدم تُكتب هنا")Inputbox | مربع إدخال، يطلب من المستخدم إدخال قيمة معينة | ("أدخل رقما")inputbox | يظهر مربع إدخال يحمل النص (أدخل رقماً) |

## مواضيع مرتبطة

* جافا
* جافا سكريبت
* فيجوال بيسك
* صفحات خادم نشطة

## مراجع

* ↑ "معلومات عن في بي سكريبت على موقع fileformats.archiveteam.org". fileformats.archiveteam.org. مؤرشف من الأصل في 2018-09-10.
* ↑ "معلومات عن في بي سكريبت على موقع id.loc.gov". id.loc.gov. مؤرشف من الأصل في 2019-12-11.
* ↑ "معلومات عن في بي سكريبت على موقع data.europa.eu". data.europa.eu. مؤرشف من الأصل في 2020-04-30.
* بوابة إنترنت
* بوابة برمجة الحاسوب
* بوابة مايكروسوفت