الاثنين، 12 نوفمبر 2012

دورة [VBScript] الجزء الثاني: المفاهيم البرمجية للغة VBScript ج4


الجزء الثاني: المفاهيم البرمجية للغة VBScript ج4


دورة [VBScript] الجزء الثاني: المفاهيم البرمجية للغة VBScript ج4 | ابداع ديزاين abda3 design الدرس الرابع : المتغيرات والثوابت والمصفوفات.


كما ذكرنا سابقا أن لغة VBScript تتشابه مفاهيمها البرمجية مع لغة Visual Basic
لذلك فإن مبرمجي فيجوال بيسك سيجدوا هذا الجزء عبارة عن تحصيل حاصل … وسأبدأ في هذا
الدرس بالحديث عن المتغيرات والثوابت وسأضيف إليها المصفوفات وقد فضلت قرن المصلح
الإنجليزي بالعربي، نظرا لتعدد التعريبات لمصطلح معين والذي يثبت مجددا أن العرب لا
يمكن أن يتفقوا، فقد رصدت قبل فترة 5 أو 6 تعريبات لـ structure Query Language ،
وعلى العموم فقد اعتمدت تعريبات "مركز التعريب والبرمجة" الذي يؤكد انه يستخدم
المفردات المعتمدة من قبل مايكروسوفت رغم أنني اقتنعت قبل فترة وجيزة أن تعريبات
معظم منشورات "دار شعاع" هي الأقرب للصحة، هذا إذا غضضنا الطرف عن التعريبات – إن
صح تسميتها تعريب - التي تثير السخرية مثل تعريب Media Player بـ "اللاعب السمعي
البصري" مع احترامي لقدرات الكاتب(المترجم) …… والآن لنعد لموضوعنا ولنبدأ
بالمتغيرات..
دورة [VBScript] الجزء الثاني: المفاهيم البرمجية للغة VBScript ج4 | ابداع ديزاين abda3 design

  المتغيرات Variables:  

المتغير ببساطه هو مكان في الذاكرة لتخزين معطيات معينه(عدد، سلسلة نصيه، كائن،…)
وله اسم محدد، وهناك عدد من القواعد يجب الالتزام بها عند تسمية المتغيرات في
VBScript وهي:

- يجب أن يبدأ الاسم بحرف.

- لا يمكن أن يزيد طول اسم المتغير عن 255 حرفا.

- لا يمكن استخدام أحد الكلمات المحجوزة في اللغة مثل Year أو MsgBox أو غيره.

- ايضا هناك بعض المحارف لا يمكن استخدامها مثل الفراغات وبعض العلامات وهي ! & % - $ #.
التصريح عن المتغير:

(يفضل) قبل استخدام أي متغير أن يتم التصريح عنه، وتستخدم لغة VBScript العبارة Dim
للتصريح المتغيرات، مثلا نريد التصريح عن المتغير النصي strGreeting فإننا نستخدم
الكود التالي:

شفرة برمجية :
Dim strGreeting

إسناد القيم:

ويتم إسناد القيم إلى المتغيرات بسهولة حيث يتم وضع اسم المتغير ثم علامة
المساواة ونضع بعدهما قيمة المتغير مثلا…


شفرة برمجية :
strGreeting = "Hello"

ويمكن استخدام المتغيرات لتخزين إدخال من قبل المستخدم وذلك عن طريق القيمة المعادة
عن الدالة InputBox والتي تظهر مربع رسالة يحث المستخدم على إدخال بيانات ما وفي
المثال التالي تلاحظ أننا قمنا بتمرير الوسيطتين الأولى والثانية، حيث تمثل الأولى
النص الذي يحث المستخدم على إدخال البيانات والوسيطة الثانية تمثل عنوان مربع
الإدخال وهناك وسيطات أخرى لاتهمنا حاليا مثل إحداثيات المربع والقيمة الافتراضية
وغيرها لاحظ المثال.

شفرة برمجية :
YourWebSite = InputBox("ادخل اسم موقعك","طلب إدخال اسم الموقع")
document.write YourWebSite

تلاحظ في المثال السابق أننا قمنا بالاحتفاظ بالقيمة - التي ادخلها المستخدم –
إلى متغير ثم استخدمنا الخاصية Write لكائن Document لكتابة القيمة إلى المستند.

و يمكن استخدام المتغيرات لتحديد الزر الذي تم نقره في مربع رسالة إخراج وتستخدم
لغة VBScript الدالة MsgBox لإظهار نص ما من خلال نافذة منبثقة.. وتلاحظ في المثال
التالي أننا قمنا بتمرير الوسيطتين الأولى والثانية، حيث تمثل الأولى النص الذي
سيظهر وتمثل الثانية الأزرار التي ستظهر في مربع الإخراج.


شفرة برمجية :
ButtonClicked = msgbox("هل تريد تغيير لون الخلفية إلى
الأزرق",vbYesNo)
If ButtonClicked = 6 Then
Document.bgColor = "#000080"
End If
و بغض النظر عن العبارة الشرطية IF التي لم نتطرق لها بعد، ستجد أن الدالة أعادت
قيمة تمثل الزر الذي تم النقر عليه وفي الشرط التالي نختبر القيمة التي تم وضعها في
المتغير، فإذا كانت تساوي 6 أي نقر المستخدم على الزر نعم فإننا نقوم بتغيير لون
الخلفية إلى الأزرق.
دورة [VBScript] الجزء الثاني: المفاهيم البرمجية للغة VBScript ج4 | ابداع ديزاين abda3 design

  الثوابت Constants:- 
الثوابت كما يدل عليها اسمها، هي قيم ثابتة مخزنة تحت اسم معين وتختلف عن المتغيرات
بأنه لا يمكن تغيير قيمها وقت التشغيل ولها فوائد عديدة منها أنها تجعل الكود اقصر
حيث أنها تغنيك عن تمرير القيمة التي قد تكون سلسلة نصية طويلة فباستخدام الثوابت
يكفي تمرير اسم الثابت، وتفيد الثوابت أيضا في جعل الكود اسهل فهما. وهاك مثال على
التصريح عن الثوابت واستخدامها.
شفرة برمجية :
Const Web_Site = "www.abda3design.blogspot.com"
' التصريح عن الثابت
MsgBox Web_Site 'عن استدعاء الثابت

وهناك ثوابت جاهزة معرفة داخل اللغة وتسهل عليك الكثير من المهام ولو عدت بعض
الخطوات إلى الوراء ستجد انك قبل قليل استخدمت أحد الثوابت المعرفة داخل اللغة وهو
الثابت vbYesNo والذي تم استخدامه مع مربع الرسالة وهناك ثوابت أخرى من الممكن أن
تحل محله مثل vbYesNoCancel .. وفيما يلي جملة من الثوابت التي يتم استخدامها كثيرا
داخل اللغة.
- ثوابت الألوان وهي: vbYellow، vbRed، vbGreen، vbMagenta، vbWhite، vbBlack،
vbCyan
- ثوابت للتعامل مع النصوص مثل : vbNewLine والذي يمثل محرف السطر الجديد، والثابت
vbNullString والذي يمثل سلسلة نصية فارغة.
- ثوابت للتعامل مع التاريخ مثل : vbSaturday، vbSunday، vbMonday،، etc…
دورة [VBScript] الجزء الثاني: المفاهيم البرمجية للغة VBScript ج4 | ابداع ديزاين abda3 design
  المصفوفات Arrays :-  

المصفوفة هي عبارة عن مجموعة من المتغيرات لها نفس الاسم ويتم الوصول إلى قيمة كل
متغير بواسطة رقم خاص به مثلا هذه المصفوفة تحتوي على مائة متغير.
شفرة برمجية :
Dim SiteName(99)
واعتبرت هنا مائة متغير لأن الترقيم يبدأ من صفر. وهناك ملاحظة وهي أن التصريح
عن المصفوفات إجباري.
إسناد القيم:
شفرة برمجية :
'التصريح عن مصفوفة بثلاث متغيرات
Dim GoodSites(2)
'إسناد القيم
GoodSites(0) = "www.vb4arab.com"
GoodSites(1) = "www.c4arab.com"
GoodSites(2) = "www.abda3design.blogspot.com"
'لاسترجاع قيمة متغير معين
msgbox GoodSites(1)

المصفوفات متعددة الأبعاد ثابتة الحجم Fixed Arrays:
لاحظت في المثال السابق أن المصفوفة ذات بعد واحد أي ذات عمود واحد، و توفر لغة
VBScript إمكانية إنشاء مصفوفات متعددة الأبعاد لاحظ المثال التالي شفرة برمجية :
'إسناد القيم
' العمود الأول الصف الأول
GoodSites(0,0) = "موقع فيجوال بيسك للعرب"
' العمود الأول الصف الثاني
GoodSites(0,1) = "www.vb4arab.com"
' العمود الثاني الصف الأول
GoodSites(1,0) = "موقع الموسوعة العربية"
' العمود الثاني الصف الثاني
GoodSites(1,1) = "www.c4arab.com"
'استدعاء القيم
msgbox GoodSites(0,0) + " " + GoodSites(0,1)

msgbox GoodSites(1,0) + " " + GoodSites(1,1)

المصفوفات الديناميكية Dynamic Arrays :
قد لا نعلم عدد العناصر التي نريد إدخالها في المصفوفة أو نريد من المستخدم
تحديد ذلك، ولا يمكننا ذلك من خلال المصفوفات ثابتة الحجم التي قمنا باستعمالها قبل
قليل ولذلك سنلجأ إلى استخدام المصفوفات متغيرة الحجم (الديناميكية) وهذا مثال على
استخدام هذا النوع من المصفوفات..
شفرة برمجية :
Dim GoodSites()
Num = InputBox("أدخل عدد مواقع البرمجة العربية التي تراها جيدة")
ReDim GoodSites(Num – 1)

تلاحظ في المثال السابق أننا قمنا بتعريف المصفوفة دون تحديد عدد العناصر وعندما
أدخل المستخدم عدد العناصر فإننا قمنا بإعادة تصريحها باستخدام العبارة ReDim لتصبح
بالحجم الجديد.


ملاحظات عامة:-

- يجب مراعاة مكان تصريح المتغيرات والمصفوفات فعند الحاجة لاستخدامها في داخل
إجراء معين فإنه يتم التصريح عنها في نفس الإجراء وعند الحاجة للتعامل معها في أكثر
من إجراء فإنه يجب التصريح عنها خراج الإجراءين لتحتفظ بقيمها لاحظ المثال..

شفرة برمجية :


< INPUT type="button" value="Button1" name="button1">
< INPUT type="button" value="Button2" name="button2">
< Script language ="VBScript">
Sub button1_OnClick()
Dim Counter
Counter=10
MsgBox Counter
End Sub
Sub button2_OnClick()
MsgBox Counter
End Sub
< /Script >





الآن عندما تنقر على الزر Button1 فإنه سيتم اسند القيمة 10 إلى المتغير Counter
ولكن عندما تنقر على الزر Button2 ستجد أن المتغير فقد قيمته … الآن انقل التصريح
خارج الإجراء وانقر على الزرين بتتابع ولاحظ النتيجة.

- يمكن التصريح لأكثر من متغير أو مصفوفة بعبارة Dim واحدة



شفرة برمجية :

Dim MyVar,MyArr(20)




- ذكرت من قبل أنه يفضل التصريح عن المتغيرات (لأسباب عديدة) ويمكنك جعل التصريح
إجباريا بإضافة العبارة Option Explicit في بداية السكريبت.

شفرة برمجية :
Option Explicit
Num = 10 ' Num هنا سيظهر خطأ لأنك لم تقوم بالتصريح عن
المتغير

ولأي إستفسار الرجاء ترك تعليقاتكم لأقوم بالإجابة عليها في القريب العاجلدورة [VBScript] الجزء الثاني: المفاهيم البرمجية للغة VBScript ج4 | ابداع ديزاين abda3 design

لا تقرأ وترحل شارك معنا بتعليق فنحن نسعى لنقدم لك الافضل والاجمل





ضع تعليقك

0 التعليقات:

البحــث

English French German Spain Italian Dutch

Russian Portuguese Japanese Korean Arabic Chinese Simplified

المتابعون

استثمارا للخبرات العالية والإمكانات التقنية المتميزة والطاقات البشرية الكبيرة التي تتميز بها "ابداع" أنشأت المؤسسة إدارة تتبنى عمل المواقع الخدمية المتنوعة للأفراد والهيئات والمؤسسات الكبرى. كما يمكنها عمل مواقع للتجارة الإلكترونية تتمكن الشركات والمتاجر من ترويج منتجاتها في كافة أنحاء العالم وتزويد مواقعها بإمكانية البيع عبر الإنترنت وتشمل خدمة بناء مواقع الإنترنت عدة مراحل بدأ من عملية التصميم المبدئي للموقع، وحتى الانتهاء منه، والقيام بتحديث الموقع كلما تطلب الأمر كما تتميز مؤسسة "ابداع" بأقوى فريق عمل متواصل مع العملاء 24 ساعة على مدار الأسبوع وتمتاز أيضا بكفاءة الدقة والسرعة في العمل لذلك نحمد الله العلي العظيم على منحنا تلك القدرة