في بي سكريبت

في بي سكريبت
المطورمايكروسوفت
ظهرت لأول مرة1996 ؛ منذ 28 سنة ( 1996 )
إصدار مستقر
5.8
نظام التشغيلنوافذ
ملحقات اسم الملف.vbs ، .vbe ، .wsf ، .wsc ( .asp ، .hta ، .htm ، .html )
موقع إلكترونيhttps://learn.microsoft.com/previous-versions/t0aew7h6(v=vs.85)
التنفيذات الرئيسية
Windows Script Host ، صفحات الخادم النشطة
متأثر بـ
فيجوال بيسك
متأثر
ويندوز باورشيل

VBScript ( Microsoft Visual Basic Scripting Edition) هي لغة برمجة قديمة لكتابة النصوص البرمجية على Microsoft Windows باستخدام نموذج كائن المكون (COM) استنادًا إلى Visual Basic الكلاسيكي و Active Scripting .

كان VBScript شائعًا بين مسؤولي النظام لإدارة أجهزة الكمبيوتر ؛ وأتمتة العديد من جوانب بيئة الحوسبة.

تتضمن بيئات تشغيل VBScript ما يلي: Windows Script Host (WSH)، و Internet Explorer (IE)، و Internet Information Services (IIS). [1] يمكن تضمين بيئة التشغيل في برامج أخرى عبر Microsoft Script Control ( msscript.ocx ).

تم تثبيت VBScript افتراضيًا في كل إصدار سطح مكتب من Microsoft Windows منذ Windows 98 ؛ [2] في Windows Server منذ Windows NT 4.0 Option Pack ؛ [3] وبشكل اختياري مع Windows CE (اعتمادًا على الجهاز الذي تم تثبيته عليه).

في أكتوبر 2023، أعلنت شركة Microsoft أن VBScript أصبح قديمًا. [4] في مايو 2024، تم الإعلان عن جدول زمني متعدد المراحل للتوقف عن العمل مع التخطيط للإزالة في عام 2027 أو بعده. [5]

تاريخ

بدأت VBScript كجزء من Microsoft Windows Script Technologies، التي تم إطلاقها في عام 1996. كانت هذه التكنولوجيا (التي تضمنت أيضًا JScript ) تستهدف في البداية مطوري الويب. خلال فترة تزيد قليلاً عن عامين، تقدمت VBScript من الإصدار 1.0 إلى 2.0، وخلال ذلك الوقت اكتسبت دعمًا من مسؤولي نظام Windows الذين يبحثون عن أداة أتمتة أقوى من لغة الدفعات التي تم تطويرها لأول مرة في أوائل الثمانينيات. [6] في 1 أغسطس 1996، تم إصدار Internet Explorer بميزات تضمنت VBScript. [7]

في الإصدار 5.0، تم زيادة وظائف VBScript بميزات جديدة بما في ذلك التعبيرات العادية ؛ الفئات ؛ العبارة With ؛ [8] وظائف Eval و Execute و ExecuteGlobal لتقييم وتنفيذ أوامر البرنامج النصي التي تم إنشاؤها أثناء تنفيذ برنامج نصي آخر؛ نظام مؤشر الوظيفة عبر GetRef، [9] ودعم COM الموزع (DCOM).

في الإصدار 5.5، تمت إضافة SubMatches [10] إلى فئة التعبيرات العادية في VBScript، للسماح أخيرًا لمؤلفي البرامج النصية بالتقاط النص داخل مجموعات التعبيرات. كانت هذه الإمكانية متاحة بالفعل في JScript.

مع ظهور إطار عمل .NET ، قرر فريق البرمجة النصية تنفيذ دعم مستقبلي لـ VBScript داخل ASP.NET لتطوير الويب، [11] وبالتالي لن يتم تطوير إصدارات جديدة من محرك VBScript. ومن الآن فصاعدًا سيتم دعمه بواسطة فريق الهندسة المستدامة التابع لشركة Microsoft ، المسؤول عن إصلاح الأخطاء وتحسينات الأمان. بالنسبة لمسؤولي نظام Windows، تقترح Microsoft الانتقال إلى Windows PowerShell ، حيث أصبح VBScript قديمًا وسيتم إزالته في النهاية من Windows.

البيئات

الويب من جانب العميل

في صفحة ويب يتم تحميلها بواسطة Internet Explorer ، يكون VBScript مشابهًا في وظيفته لـ JavaScript . كود VBScript في HTML هو منطق يتفاعل مع نموذج كائن المستند (DOM) للصفحة - مما يسمح بوظائف غير ممكنة في HTML وحدها. ومع ذلك، لا تدعم متصفحات الويب الأخرى مثل Chrome و Firefox و Opera VBScript. لذلك، عندما تكون هناك حاجة إلى برمجة نصية من جانب العميل والتوافق بين المتصفحات، يختار المطورون عادةً JavaScript بسبب توافقه الواسع بين المتصفحات.

صفحة الخادم النشط

يتم استخدام VBScript لوظائف صفحات الويب من جانب الخادم عبر Active Server Pages (ASP). يستدعي محرك ASP، asp.dll ، vbscript.dll لتشغيل نصوص VBScript. يتم تضمين VBScript المضمن في صفحة ASP داخل مفاتيح السياق <% و%>. يعرض المثال التالي الوقت الحالي بتنسيق 24 ساعة.

 <% خيار صريح %>   
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 انتقالي//AR" "http://www.w3.org/TR/html4/loose.dtd">
 <إتش تي إم إل>
 	<الرأس>
 		<title>  مثال VBScript </title>
 	</head>
 	<الجسم>
 		<div><% 
 			'احصل على الوقت الحالي من وظيفة Now().
 			'علامة '=' التي تظهر بعد تبديل السياق (<%) هي اختصار
 			'للاستدعاء إلى طريقة Write() لكائن الاستجابة.
 			قيمة الوقت الخافتة : قيمة الوقت = الآن %>      
 			الوقت بتنسيق 24 ساعة هو      
 			<%= ساعة ( قيمة زمنية ) %> : <%= دقيقة ( قيمة زمنية ) %> : <%= ثانية ( قيمة زمنية ) %> .
 		</div>
 	</body>
 </html>

مضيف البرنامج النصي لنظام التشغيل Windows

يمكن تشغيل VBScript مباشرة في نظام التشغيل عبر Windows Script Host (WSH). يمكن تشغيل ملف نصي، عادةً ما يكون له امتداد ، إما عبر Wscript.exe لواجهة المستخدم الرسومية (GUI) أو Cscript.exe لواجهة سطر الأوامر (CLI). .vbs

ملف نصي لنظام التشغيل Windows

يمكن لملف نصي لـ Windows (WSF)، المصمم على غرار XML، أن يتضمن ملفات VBS متعددة وبالتالي فهو عبارة عن مكتبة من أكواد VBScript يمكن إعادة استخدامها بطريقة معيارية. تحتوي الملفات على امتداد .wsfويمكن تنفيذها باستخدام wscript.exe أو cscript.exe ، كما هو الحال مع الملف. .vbs

تطبيق HTML

تم تصميم تطبيق HTML (HTA) على غرار HTML. يتم استخدام HTML في الملف لإنشاء واجهة المستخدم، ويتم استخدام لغة برمجة نصية مثل VBScript لمنطق البرنامج. تحتوي الملفات على امتداد .htaويمكن تنفيذها باستخدام mshta.exe .

مكون البرنامج النصي لنظام التشغيل Windows

يمكن أيضًا استخدام VBScript في مكون Windows Script، وهو فئة نصية تدعم ActiveX ويمكن استدعاؤها بواسطة تطبيقات أخرى تدعم COM. [12] هذه الملفات لها الامتداد .wsc .

الوظيفة

ميزات اللغة

تم تصميم لغة VBScript على غرار لغة Visual Basic الكلاسيكية. [13] تتضمن الميزات البارزة ما يلي:

"الإجراء" هو البنية الأساسية في VBScript لفصل التعليمات البرمجية إلى وحدات أصغر. يميز VBScript بين الدالة، التي يمكنها إرجاع نتيجة في عبارة التعيين، والروتين الفرعي، الذي لا يمكنه ذلك. المعلمات موضعية، ويمكن تمريرها بالقيمة أو بالإشارة.

تتضمن هياكل التحكم حلقات Do التكرارية والشرطية المعتادة، وعبارات If-Then-Else، وعبارات Case، مع بعض المتغيرات الأكثر تعقيدًا، مثل ElseIf وهياكل التحكم المتداخلة.

كمساعدة للذاكرة في الترميز، وبالتأكيد لسهولة القراءة، هناك عدد كبير من الثوابت، مثل True وFalse للقيم المنطقية، وvbOKCancel وvbYesNo لأكواد MsgBox، وvbBlack وvbYellow لقيم الألوان، وvbCR لحرف الإرجاع، وغيرها الكثير.

تحتوي المتغيرات على نوع " Variant " بشكل افتراضي، ولكن من الممكن (وأحيانًا ضروري) فرض نوع معين (عدد صحيح، تاريخ، وما إلى ذلك) باستخدام وظائف التحويل (CInt، CDate، وما إلى ذلك).

يتم توفير تفاعل المستخدم من خلال الوظائف MsgBoxوالتي InputBoxتوفر تنسيق مربع حوار بسيط للرسائل والإدخال. تعرض كلتا الوظيفتين رسائل مطالبة، حيث تقوم الأولى بإرجاع استجابة قياسية، وتقوم الثانية بإرجاع نص واحد أو قيمة رقمية مقدمة من المستخدم. لمزيد من التفاعل مع واجهة المستخدم الرسومية مع عناصر التحكم، يمكن استخدام VBScript مع HTML، على سبيل المثال، في تطبيق HTML . لا يتم دعم النماذج التي يتم تشغيلها بواسطة الأحداث كما هو الحال في Visual Basic أو Visual Basic for Applications .

الأسماء ليست حساسة لحالة الأحرف. ومع ذلك، يعتبر من أفضل الممارسات في أسلوب VBScript أن تكون متسقة وأن تستخدم الأحرف الكبيرة بحكمة.

وظائف VBScript

عند استضافته بواسطة Windows Script Host ، يوفر VBScript العديد من الميزات المشتركة بين لغات البرمجة النصية، ولكنها غير متوفرة في Visual Basic 6.0 . تتضمن هذه الميزات:

  • حجج سطر الأوامر المسماة وغير المسماة
  • Stdin و stdout ، والتي يمكن إعادة توجيهها
  • WSH.Echo الذي يكتب في وحدة التحكم ولا يمكن إعادة توجيهه
  • WSH.ExitCode والذي يمكن اختباره من ملفات دفعات DOS، أو من خلال العملية التي استدعت ملف البرنامج النصي
  • الطابعات الشبكية
  • مشاركات الشبكة
  • المجلدات الخاصة، مثل سطح المكتب والمفضلة ومستنداتي وما إلى ذلك
  • معلومات مستخدم الشبكة، مثل عضوية المجموعة
  • طرق تنفيذ النص المحدد في وقت التشغيل: Eval وExecute
  • طرق تنفيذ البرامج النصية على الأجهزة البعيدة
  • أداة إدارة Windows (WMI)
  • وظيفة لتضمين محرك VBScript في تطبيقات أخرى، باستخدام لغة معروفة على نطاق واسع

يوفر CScript، مشغل سطر الأوامر، خيارات لـ:

  • الوضع التفاعلي أو الدفعي
  • استدعاء وضع التصحيح من سطر الأوامر
  • الإبلاغ عن الأخطاء بما في ذلك رقم السطر

وظائف إضافية

يتم تنفيذ إدارة نظام الملفات وتعديل الملفات وعمليات تدفق النصوص باستخدام مكتبة وقت تشغيل النصوص البرمجية scrrun.dll. وهذا يوفر كائنات مثل FileSystemObject وFile وTextStream، والتي تعرض نظام ملفات Windows للمبرمج.

يتم توفير الملفات الثنائية وإدخال/إخراج الذاكرة بواسطة فئة "ADODB.Stream"، والتي يمكن استخدامها أيضًا لبناء السلاسل (لتجنب التجميع المفرط للسلاسل، والذي قد يكون مكلفًا)، وتحويل مصفوفات البايتات والسلاسل. يصبح الوصول إلى قاعدة البيانات ممكنًا من خلال كائنات بيانات ActiveX (ADO)، ويمكن التعامل مع قاعدة بيانات IIS باستخدام وظيفة GetObject() مع الأذونات الكافية (مفيدة لإنشاء وتدمير المواقع والدلائل الافتراضية). يمكن التعامل مع ملفات XML والمخططات باستخدام واجهات برمجة تطبيقات مكتبة XML من Microsoft ( msxml6.dll و msxml3.dll )، والتي يمكن استخدامها أيضًا لاسترداد المحتوى من شبكة الويب العالمية عبر كائنات XMLHTTP وServerXMLHTTP (سلاسل الفئة "MSXML2.XMLHTTP.6.0" و"MSXML2.ServerXMLHTTP.6.0"، على التوالي).

يمكن أيضًا إضافة الوظائف من خلال تقنيات ActiveX. أدت المخاوف الأمنية إلى إدراج العديد من عناصر تحكم ActiveX في القائمة السوداء في عملية Internet Explorer بواسطة Microsoft، والتي تنشر Killbit عبر تحديثات أمان Windows الشهرية لتعطيل أكواد Microsoft والجهات الخارجية المعرضة للخطر. [14] [15]

يمكن للمبرمجين الاستفادة من إمكانية التوسعة عبر وحدات COM (ActiveX) لتجهيز Script Host وVBScript بالوظائف المطلوبة أو المرغوبة. على سبيل المثال، يضيف مكون "VTool" عددًا من نوافذ الحوار والوصول إلى الملفات الثنائية ووظائف أخرى. [16]

أدوات التطوير

لا تقوم Microsoft بشكل روتيني بتوفير IDE ( بيئة التطوير المتكاملة ) لـ VBScript، على الرغم من أن Microsoft Script Editor تم تضمينه مع إصدارات معينة من Microsoft Office.

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

تتوفر أدوات تصحيح أخطاء VBScript من مصادر خارجية، [17] [18] كما تقدم العديد من محررات النصوص تمييز بناء الجملة للغة.

أثناء التنفيذ، عندما يحدث خطأ، يصدر مضيف البرنامج النصي رسالة توضح نوع الخطأ ورقم السطر المخالف.

الاستخدامات

على الرغم من أن VBScript هي لغة برمجة نصية عامة الغرض، إلا أن هناك العديد من مجالات الاستخدام المحددة الجديرة بالملاحظة. أولاً، كانت تُستخدم على نطاق واسع بين مسؤولي النظام في بيئة Microsoft، [19] ولكن تم تجاوزها منذ ذلك الحين بواسطة PowerShell . ثانيًا، VBScript هي لغة البرمجة النصية لـ Micro Focus Unified Functional Testing ، وهي أداة أتمتة الاختبار. [20] المجال الثالث الذي يجب ملاحظته هو اعتماد VBScript كلغة برمجة نصية داخلية لبعض التطبيقات المضمنة، مثل واجهات المشغل الصناعي وواجهات الآلة البشرية. يدعم نظام إدارة قواعد البيانات الهرمي InterSystems Caché (الذي له جذوره في لغة MUMPS ) أيضًا تنفيذًا لـ VBScript، Cache BASIC، لبرمجة التعليمات البرمجية المخزنة. [21]

يغفل VBScript العديد من الميزات المفيدة الموجودة في Visual Basic بالكامل، مثل الكتابة القوية، واحتجاز الأخطاء الموسع، والقدرة على تمرير عدد متغير من المعلمات إلى برنامج فرعي. ومع ذلك، فإن استخدامه واسع الانتشار نسبيًا لأنه سهل التعلم ولأن أولئك الذين ينفذون التعليمات البرمجية في اللغة لا يحتاجون إلى دفع إتاوات لشركة Microsoft طالما أن العلامة التجارية VBScript معترف بها. [ بحاجة لمصدر ] عندما ترخص منظمة Visual Basic for Applications (VBA) من Microsoft، كما فعلت شركات مثل Autodesk وStatSoft وGreat Plains Accounting وVisio (التي استحوذت عليها Microsoft لاحقًا)، يُسمح لها بإعادة توزيع بيئة كتابة التعليمات البرمجية وتصحيح الأخطاء الكاملة لـ VBA مع منتجها.

يتم استخدام VBScript بدلاً من VBA كلغة الماكرو في Outlook 97.

يمكن استخدام VBScript بفعالية لأتمتة المهام المكتبية اليومية وكذلك المراقبة في بيئة تعتمد على Windows. ويمكن استخدامه أيضًا بالتعاون مع ADODB ActiveX Data Objects (ADODB) لتوفير اتصال فعال بقاعدة البيانات.

يمكن أيضًا استخدام VBScript لإنشاء برامج ضارة وفيروسات، مثل دودة ILOVEYOU التي انتشرت عبر مرفقات البريد الإلكتروني في Outlook 97 والتي كلفت مليارات الدولارات.

انظر أيضا

مراجع

  1. ^ ما هو VBScript؟، في مكتبة MSDN
  2. ^ معلومات إصدار WSH، على MSDN
  3. ^ معلومات إصدار VBScript، على MSDN
  4. ^ "الميزات القديمة في عميل Windows - ما الجديد في Windows". 7 نوفمبر 2023.
  5. ^ Shankar Chilla, Naveen (2024-05-22). "إلغاء إصدار VBScript: الجداول الزمنية والخطوات التالية". مركز مجتمع Microsoft . تم الاسترجاع في 2024-05-28 .
  6. ^ 86-دوس
  7. ^ "تاريخ Visual Basic". www.johnsmiley.com .
  8. ^ Visual Basic Scripting Edition: With Statement، على MSDN
  9. ^ دالة GetRef، على MSDN
  10. ^ Visual Basic Scripting Edition: مجموعة SubMatches، على MSDN
  11. ^ ماذا عن VBScript؟، ضمن المقال Introducing JScript .NET بقلم Andrew Clinick من شركة Microsoft Corporation، في Scripting Clinic على MSDN (14 يوليو 2000)
  12. ^ تقديم مكونات البرامج النصية لـ Windows، على MSDN
  13. ^ "ميزات VBScript". msdn.microsoft.com . 24 أكتوبر 2011.
  14. ^ "كيفية إيقاف تشغيل عنصر تحكم ActiveX في Internet Explorer". Microsoft . 2007-08-24 . تم الاسترجاع في 2009-06-29 .
  15. ^ "Microsoft Security Advisory (960715): Update Rollup for ActiveX Kill Bits". Microsoft . 2009-01-17 . تم الاسترجاع في 2009-06-29 .
  16. ^ مكون البرنامج النصي "VTool" – تحسينات واجهة المستخدم الرسومية والوظيفية لـ WSH/VBS
  17. ^ "VbsEdit - محرر VBScript مع مصحح الأخطاء - محرر VBS". www.vbsedit.com .
  18. ^ شركة Spline Technologies. "SplineTech VBS Debugger, VBScript Debugger. Debug VBS". www.remotedebugger.com .
  19. ^ مركز النصوص، موقع ويب Microsoft يستهدف نصوص إدارة النظام
  20. ^ "Quick Test Professional – Basics of VBScript". مؤرشف من الأصل في 2010-02-17 . تم الاسترجاع في 2010-05-05 .
  21. ^ "Caché for Unstructured Data Analysis". InterSystems . تم الاسترجاع في 2018-09-24 .
  • مرجع لغة VBScript، مستندات Microsoft
  • هل VBScript ميت؟، isvbscriptdead.com
  • أوامر VBScript، ss64.com
  • أدلة وإرشادات حول استخدام VBScript، ss64.com
  • نظرة عامة على WMI، Microsoft TechNet
تم الاسترجاع من "https://en.wikipedia.org/w/index.php?title=VBScript&oldid=1241287457"
Original text
Rate this translation
Your feedback will be used to help improve Google Translate