نظرة لبعض تطبيقات لغة VBScript
لعلك تتذكر الآن ما ذكرناه في الدرس الأول، حول تطبيقات لغة VBScript...
لعلك تتذكر الآن ما ذكرناه في الدرس الأول، حول تطبيقات لغة VBScript...
في هذا الدرس سنتطرق لتطبيقين من تلك التطبيقات بشكل سريع وموجز.
التطبيق الأول، هو استخدام لغة VBScript لتنفيذ العديد من المهام تحت نظام
ويندوز بالاعتماد على مستضيف النصوص البرمجية Windows Script Host - WSH،
والتطبيق الآخر هو استخدام لغة VBScript كلغة برمجة نصية تعمل من جانب
الخادم في صفحات الخادم النشط ASP.
التطبيق الأول: مستضيف النصوص البرمجية WSH
تعتبر تقنية WSH، بيئة مستضيف قادرة على
تنفيذ النصوص البرمجية في بيئة ويندوز، وتوفر هذه البيئة أيضا، مجموعة من
الوظائف الداخلية للنظام، مغلفة في كائنات يمكن الوصول إليها باستخدام
اللغات النصية.
وللاستفادة من قدرات مستضيف النصوص البرمجية، يجب أولا تركيبه على النظام، ويمكنك تحميل الإصدار الأخير منه 5,6 من الرابط www.msdn.microsoft.com/scripting . مع ملاحظة أن أنظمة ويندوز تحتوي على إصدارات مختلفة من البيئة السابقة.
بعد تركيب البيئة وإعادة تشغيل الجهاز، يمكنك وضع شيفرات VBScript المجردة
في ملفات نصية، وحفظها بالامتداد .vbs، لإنتاج ملفات يتم تنفيذها بمجرد
النقر المزدوج عليها، وتوفر البيئة طريقتين لتشغيل الملفات من خلال سطر
الأوامر، الأولى، باستخدام البرنامج console Script - cscript حيث يتم
تنفيذ أوامر الملف البرمجي من خلال نافذة MS-Dos .
cscript MyScript.vbs |
حيث MyScript.vbs
يحوي شيفرات VBScript التي تريد تنفيذها. الطريقة الثانية، وهي التنفيذ
بالطريقة التقليدية المعتمدة على النوافذ وذلك من باستخدام البرنامج
Windows-Base Script - Wscript .
يحوي شيفرات VBScript التي تريد تنفيذها. الطريقة الثانية، وهي التنفيذ
بالطريقة التقليدية المعتمدة على النوافذ وذلك من باستخدام البرنامج
Windows-Base Script - Wscript .
wscript MyScript.vbs |
الملفات ذات الامتداد .wsf
منذ الإصدار الثاني لمستضيف النصوص البرمجية WSH، أضافت مايكروسوفت هيئة جديدة لها الإمتداد .wsf
ترتكز هذه الملفات على معاملات لغة التوصيف xml، وتشتمل على مزايا عديدة،
كإمكانية تعدد اللغات، حيث يمكن أن يشتمل الملف النصي على شيفرة بلغتين
مختلفتين، ويمكن إضافة أكثر من وظيفة في نفس الملف، كما يمكننا استجلاب
ثوابت من مكتبات خارجية.
البرمجية WSH، أضافت مايكروسوفت هيئة جديدة لها الإمتداد .wsfترتكز هذه
الملفات على معاملات لغة التوصيف xml، وتشتمل على مزايا عديدة، كإمكانية
تعدد اللغات، حيث يمكن أن يشتمل الملف النصي على شيفرة بلغتين مختلفتين،
ويمكن إضافة أكثر من وظيفة في نفس الملف، كما يمكننا استجلاب ثوابت من
مكتبات خارجية.
لاحظ المثال التالي
شيفرة برمجية |
<package> <job id="Echo1"> <Script language="JScript"> WScript.Echo("Hello from JScript"); </Script> </job> <job id="Echo2"> <Script language="VBScript"> WScript.Echo "Hello from VBScript" </Script> </job> </package> |
في المثال السابق استخدمنا
الواصفتين <package>و </package> لتعريف أكثر من وظيفة، ثم
أدرجنا الوظيفتين Echo1 و Echo2 باستخدام الواصفتين <job> و
</job>. ويمكن تشغيل إحدى الوظيفتين بتمريرها كوسيطة إلى من خلال سطر
الأوامر، فمثلا في مثالنا السابق -بافتراض أن اسم الملف هو MyScripts.wsf
وهو على القرص الجذري C:\ -فإننا نستخدم الأمر التالي لتشغيل الوظيفة Echo2
الواصفتين <package>و </package> لتعريف أكثر من وظيفة، ثم
أدرجنا الوظيفتين Echo1 و Echo2 باستخدام الواصفتين <job> و
</job>. ويمكن تشغيل إحدى الوظيفتين بتمريرها كوسيطة إلى من خلال سطر
الأوامر، فمثلا في مثالنا السابق -بافتراض أن اسم الملف هو MyScripts.wsf
وهو على القرص الجذري C:\ -فإننا نستخدم الأمر التالي لتشغيل الوظيفة Echo2
wscript //job:Echo2 c:myScript.wsf |
نموذج الكائن لبيئة WSH
يحتوي نموذج الكائن لبيئة WSH على 14 كائنا، تحوي
بدورها عددا من الخصائص والطرق، والهيكل التالي يوضح البنية الشجرية
لكائنات النموذج.
وكما ذكرنا سابقا، بأنه
من غير الممكن سرد جميع الطرق والخصائص لهذه الكائنات، لذا يمكنك الرجوع
إلى كتبة مطوري مايكروسوفت للحصول على مرجع موسع.
من غير الممكن سرد جميع الطرق والخصائص لهذه الكائنات، لذا يمكنك الرجوع
إلى كتبة مطوري مايكروسوفت للحصول على مرجع موسع.
وإذا كانت لديك خلفية جيدة حول واجهة برمجة التطبيقات للنظام ويندوز مع بعض
المعرفة بالدوال التي توفرها لغة Visual Basic، فستلاحظ أن نظرة سريعة إلى
معظم طرق وخصائص الكائنات ستكون كافية بالنسبة لك لمعرفة وظائفها وجذورها.
التطبيق الثاني:صفحات الخادم النشط ASP.
إذا تأملت ما درسناه سابقا، ستجد أننا تطرقنا للغة VBScript
كلغة من جانب العميل Client-Side، ولقد وضعت أمثلة الدروس السابقة
كتطبيقات من جانب العميل، لأنني لم أشأ الدخول في تفصيلات جانبية إذا ما
تطرقت لجانب الخادم.
ما هي ASP؟
- تمثل تقنية ASP، تطبيقا خاصا لواجهة التداخل ISAPI. هذا الواجهة التي ظهرت كبديل مستحسن لواجهة البوابة العامة CGI.
- يعمل محرك ASP على ترجمة أي نص برمجي تحويه الصفحة المطلوبة ووضع مخرجاته كواصفات HTML ضمن الصفحة المخرجة.
- تمكننا تقنية ASP من الوصول إلى قواعد البيانات بسهولة، كما تمكننا من تخصيص الصفحات بما يناسب طلب كل زائر.
- تعتبر تقنية ASP كوعاء، فهي ليست لغة برمجية ولكنها توفر إمكانية استخدام
العديد من لغات النصوص البرمجية، وأكثر هذه اللغات شهرة واستخداما هي لغة
VBScript.
ما الذي تحتاجه قبل البدء؟
تمثل تقنية ASP، تطبيقا خاصا لواجهة التداخل ISAPI. هذا الواجهة التي ظهرت
كبديل مستحسن لواجهة البوابة العامة CGI.- يعمل محرك ASP على ترجمة أي نص
برمجي تحويه الصفحة المطلوبة ووضع مخرجاته كواصفات HTML ضمن الصفحة
المخرجة.- تمكننا تقنية ASP من الوصول إلى قواعد البيانات بسهولة، كما
تمكننا من تخصيص الصفحات بما يناسب طلب كل زائر.- تعتبر تقنية ASP كوعاء،
فهي ليست لغة برمجية ولكنها توفر إمكانية استخدام العديد من لغات النصوص
البرمجية، وأكثر هذه اللغات شهرة واستخداما هي لغة VBScript.
قبل أن تبدأ بتطبيق الأمثلة المعتمدة على ASP من خلال جهازك، يجب عليك أن
تقوم بتحويله إلى خادم. ويمثل الخادم Personal Web Server أحد الخوادم
المجانية المرفقة ضمن اسطوانة نظام ويندوز، كما تستطيع استخدام IIS كخادم
متطور يمتلك الكثير من المزايا، وهو المعتمد في معظم الشركات المستضيفة.
نموذج كائن ASP.
أن تبدأ بتطبيق الأمثلة المعتمدة على ASP من خلال جهازك، يجب عليك أن تقوم
بتحويله إلى خادم. ويمثل الخادم Personal Web Server أحد الخوادم المجانية
المرفقة ضمن اسطوانة نظام ويندوز، كما تستطيع استخدام IIS كخادم متطور
يمتلك الكثير من المزايا، وهو المعتمد في معظم الشركات المستضيفة.
تحتوي تقنية ASP على عدد من الكائنات الرئيسية المبنية داخلها،
والتي تعطي تحكما كبيرا بدقائق الأمور على الخادم، وفيما يلي سردا للكائنات
الأساسية ووظيفة كل منها.
والتي تعطي تحكما كبيرا بدقائق الأمور على الخادم، وفيما يلي سردا للكائنات
الأساسية ووظيفة كل منها.
الكائن | الوصف |
Request | استعادة المعلومات المضمنة مع الطلب المرسل من قبل العميل. |
Response | إرسال المعلومات إلى العميل. |
Application | تخزين المعلومات حول التطبيق |
Session | نقل بيانات مستعرض إلى الذاكرة. |
Server | الاتصال بالخادم. |
ObjectContext | التحكم بالمعاملات، وإنشاء كائنات جديدة. |
ASPError | الحصول على معلومات حول الأخطاء التي قد تحصل أثناء التنفيذ. |
كيفية إضافة شيفرة ASP إلى صفحتك.
يمكنك إضافة النص البرمجي -العامل من جانب الخادم- إلى صفحة ASP بالطريقة التقليدية مع ضبط الخاصية RUNAT إلى Server
شيفرة برمجية |
<SCRIPT LANGUAGE=vbscript RUNAT=Server> Response.Write "مرحبا بك" </SCRIPT> |
ويمكننا استخدام الواصفتين %> و <% لإضافة شيفرة النص البرمجي.
شيفرة برمجية |
<% Response.Write " الوقت الآن هو" & Time() %> |
تغييرات شاملة مع ASP.NET
في هذا الإصدار الخاص، قامت مايكروسوفت بإعادة تصميم ASP بشكل جذري متلافية
لعيوب الإصدار السابق، كما أضافت جملة من الإمكانيات التي ساهمت في تقوية
أجزاء اللغة.
تعتمد تقنية ASP.NET على إطار العمل .NET وتتيح للمطورين إمكانية بناء
الصفحات من خلال نماذج تدعى نماذج ويب، حيث يمكن إضافة الأدوات إلى هذه
النماذج بسحبها وإسقاطها على النماذج وكتابة شيفرة لمعالجة أحداث الأدوات.
كما تمت إضافة جملة من الأدوات تدعى أدوات تحكم خادم نماذج ويب، وتمثل هذه
الأدوات واصفات HTML وبالتالي يمكن ضبط خصائصها من خلال إطار الخصائص دون
الحاجة لمعرفة الكثير عن لغة التوصيف HTML.
وتتخلص صفحات ASP.NET من البطئ النسبي في الإصدار السابق، حيث تتم ترجمة
الصفحات لمرة واحدة، بدلا من التفسير المتكرر عند كل استدعاء.
تترك ASP.NET المجال مفتوحا لاستخدام أي لغة من اللغات المدعومة في .NET كـ
++VB.NET، C#، Managed c و Jscript كلغة من جانب الخادم، ولكن من المؤسف
هنا أن لغة VBScript غير مدعومة، ولكن لا تقلق، فيمكنك التطوير بلغة VB.NET
التي لها نفس التراكيب اللغوية للغة VBScript، كما ستلاحظ أنك متآلفا مع
لغة VB.NET بشكل كبير بسبب تقارب المفاهيم بينها وبين لغة VBScript المشتقة
منها.