وظائف وإجراءات VBScript مع مثال
⚡ ملخص ذكي
تُنظّم الدوال والإجراءات في لغة VBScript التعليمات البرمجية في كتل قابلة لإعادة الاستخدام. يُنفّذ الإجراء الفرعي عبارات دون إرجاع قيمة، بينما يُرجع إجراء الدالة قيمةً عن طريق إسنادها إلى اسم الدالة، وتُمرّر الوسائط باستخدام ByRef أو ByVal.

إجراءات VBScript
تُستخدم إجراءات VBScript بشكل أساسي لتنظيم التعليمات البرمجية وإعادة استخدامها. لقد استخدمنا أمثلة بسيطة حتى الآن لأن الغرض هنا هو تعلم VBScript. ولكن في سيناريوهات العالم الحقيقي، لا يكون التعليمات البرمجية بهذه البساطة. عندما تحاول تنفيذ شيء مفيد، قد يصبح التعليمات البرمجية أكثر تعقيدًا. قد يكون هناك مئات الأسطر الممتدة عبر العديد من الصفحات.
إذا لم تنظم الكود بشكل صحيح، فإن عملية الترميز وتصحيح الأخطاء وإدارة الكود بأكملها ستصبح معقدة حقًا. لذا، يجب عليك تنظيم الكود أو تقسيمه إلى وحدات بعناية حتى يصبح الكود الخاص بك قابلاً للإدارة بسهولة.
علاوة على ذلك، لنفترض أن لديك مجموعة من العبارات التي تؤدي إجراءً معينًا. تريد تكرار نفس الإجراء عدة مرات. إذًا، لماذا يجب عليك كتابة نفس الرمز مرارًا وتكرارًا؟ باستخدام تقنيات فعالة، يمكنك جعل التعليمات البرمجية الخاصة بك قابلة لإعادة الاستخدام. سيساعد هذا المطورين على تنظيم التعليمات البرمجية بشكل جميل وسيساعد المختبرين على تحديد الأخطاء بسهولة. باختصار، تعد وحدة الكود وإعادة استخدامه أمرًا مهمًا للغاية لجعل الكود أكثر قوة وموثوقية وأسهل في الصيانة. هنا تأتي الإجراءات في الصورة.
أنواع الإجراءات في VBScript
الإجراء عبارة عن كتلة من التعليمات البرمجية التي تؤدي وظيفة واحدة بشكل مثالي. تعد كتلة التعليمات البرمجية التي تعالج إدخالاً أو تعالج ملفًا مثالًا جيدًا للوظيفة. هناك نوعان من الإجراءات في فبسكريبت.
- الإجراء الفرعي: لا يقوم الإجراء الفرعي بإرجاع قيمة.
- إجراء الدالة: يتم استخدام إجراء الدالة إذا كنت تريد إرجاع قيمة.
الإجراءات الفرعية
إذا كنت تريد تنفيذ سلسلة من البيانات دون إرجاع أي قيمة، فيمكنك استخدام الإجراءات الفرعية.
تبدأ الإجراءات الفرعية وتنتهي بالبيانات الفرعية والنهاية الفرعية على التوالي. يمكن أن تأخذ الإجراءات الفرعية وسيطات، لكن لا يمكنها إرجاع قيمة. الإجراءات الفرعية قد تأخذ أو لا تأخذ مدخلات.
Sub outputMessage() document.write("Welcome") End Sub
مجرد كتابة هذا الرمز لن ينتج أي شيء. هنا قمت بإنشاء إجراء فرعي يسمىputMessage. بعد ذلك، تحتاج إلى الاتصال به.
استدعاء رسالة الإخراج ()
اجمع بين هاتين المجموعتين من الرموز في الداخل tag like this.
<script type="text/vbscript"> Sub outputMessage() document.write("Welcome") End Sub call outputMessage() </script>
سيكون إخراج هذا الرمز
وظائف في بي سكريبت
إذا كنت تريد تنفيذ سلسلة من العبارات وإرجاع قيمة، فأنت بحاجة إلى استخدام إجراءات الوظيفة، المعروفة باسم الوظيفة.
تبدأ إجراءات الوظيفة وتنتهي ببيانات الوظيفة ونهاية الوظيفة على التوالي.
قد يأخذ أو لا يأخذ إجراء الوظيفة مدخلات.
تقوم إجراءات الدالة بإرجاع قيمة عن طريق تعيين القيمة لاسمها.
<script type="text/vbscript"> Function findArea(radius) const pi=3.14 area = pi*radius*radius findArea = area End Function document.write("The area of the circle when the radius is 20 is " & findArea(20) &"<br/>") document.write("The area of the circle when the radius is 10 is " & findArea(10)) </script>
سيكون إخراج هذا الرمز
معلمات ByRef وByVal
يمكنك تمرير وسيطات VBScript إلى الإجراءات حسب المرجع أو القيمة.
إذا لم تحدد أي شيء عند استدعاء إجراء ما، فسيتم تمرير الوسيطة/الوسائط حسب المرجع افتراضيًا.
إذا استمرت التغييرات التي تم إجراؤها على الوسائط حتى بعد استدعاء الإجراء، فستحتاج إلى تمرير وسائط VBScript حسب المرجع.
عندما يتم تمرير وسيطة حسب القيمة، فإن أي تغييرات يجريها الإجراء المطلوب على قيمة متغير لا تستمر بعد استدعاء الإجراء.
يتم استخدام الكلمات الأساسية ByRef وByVal لتمرير الوسائط حسب المرجع وحسب القيمة على التوالي.
لفهم الفرق، أولاً، قم بتنفيذ الكود الموضح أدناه وشاهد النتيجة.
الخطوة 1) انسخ الكود في المحرر الخاص بك
<script type="text/vbscript"> Function returnResult(ByRef value) value = value +1 returnResult = value End Function Dim x x=5 call returnResult(x) document.write(x) </script>
الخطوة 2) الناتج هو 6
الخطوة 3) تغيير وظيفة returnResult (قيمة ByRef) إلى وظيفة returnResult (قيمة ByVal)
الخطوة 4) الآن سيكون الناتج الخاص بك هو 5.
