उदाहरण के साथ VBScript फ़ंक्शन और प्रक्रियाएँ

VBScript प्रक्रियाएं

VBScript प्रक्रियाओं का उपयोग मुख्य रूप से कोड संगठन और पुनः उपयोग के लिए किया जाता है। हम अब तक सरल उदाहरणों का उपयोग कर रहे हैं क्योंकि यहाँ उद्देश्य VBScript सीखना है। लेकिन वास्तविक दुनिया के परिदृश्य में, कोड उतना सरल नहीं है। जब आप किसी उपयोगी चीज़ को लागू करने का प्रयास करते हैं, तो कोड अधिक जटिल हो सकता है। कई पृष्ठों में फैली सैकड़ों पंक्तियाँ हो सकती हैं।

यदि आप कोड को ठीक से व्यवस्थित नहीं करते हैं, तो कोडिंग, डिबगिंग और कोड को प्रबंधित करने की पूरी प्रक्रिया वास्तव में जटिल हो जाएगी। इसलिए, आपको कोड को सावधानीपूर्वक व्यवस्थित या मॉड्यूलर करना चाहिए ताकि आपका कोड आसानी से प्रबंधित हो सके।

इसके अलावा, मान लीजिए कि आपके पास कथनों का एक सेट है जो एक विशेष क्रिया करता है। आप चाहते हैं कि एक ही क्रिया कई बार दोहराई जाए। फिर, आपको बार-बार एक ही कोड क्यों लिखना चाहिए? प्रभावी तकनीकों का उपयोग करके, आप अपने कोड को पुनः प्रयोज्य बना सकते हैं। इससे डेवलपर्स को कोड को खूबसूरती से व्यवस्थित करने और परीक्षकों को बग को आसानी से पहचानने में मदद मिलेगी। संक्षेप में, कोड को अधिक शक्तिशाली, विश्वसनीय और बनाए रखने में आसान बनाने के लिए कोड मॉड्यूलरीकरण और पुनः उपयोग बहुत महत्वपूर्ण है। यहाँ प्रक्रियाएँ एक तस्वीर में आती हैं।

VBScript में प्रक्रियाओं के प्रकार

प्रक्रिया कोड का एक ब्लॉक है जो आदर्श रूप से एक ही फ़ंक्शन निष्पादित करता है। कोड का एक ब्लॉक जो इनपुट को प्रोसेस करता है या फ़ाइल को हैंडल करता है, फ़ंक्शन का एक अच्छा उदाहरण है। प्रक्रियाएँ दो प्रकार की होती हैं VBScript है.

  1. उप प्रक्रिया: उप-प्रक्रिया कोई मान नहीं लौटाती है।
  2. फ़ंक्शन प्रक्रिया: यदि आप कोई मान लौटाना चाहते हैं तो फ़ंक्शन प्रक्रिया का उपयोग किया जाता है।

उप प्रक्रियाएं

यदि आप बिना कोई मान लौटाए कथनों की श्रृंखला निष्पादित करना चाहते हैं, तो आप उप प्रक्रियाओं का उपयोग कर सकते हैं।

सब प्रक्रियाएं क्रमशः Sub और End Sub कथनों से शुरू और समाप्त होती हैं। सब प्रक्रियाएं तर्क ले सकती हैं, लेकिन मान वापस नहीं कर सकतीं। सब प्रक्रियाएं इनपुट ले भी सकती हैं और नहीं भी।

Sub outputMessage()
document.write("Welcome")
End Sub

सिर्फ़ यह कोड लिखने से कुछ भी आउटपुट नहीं होगा। यहाँ आपने outputMessage नाम से एक Sub प्रक्रिया बनाई है। इसके बाद, आपको इसे कॉल करना होगा।

outputMessage() को कॉल करें

इन दोनों कोड सेटों को एक साथ जोड़ें tag like this.

<script type="text/vbscript">

Sub outputMessage()
document.write("Welcome")
End Sub
call outputMessage()
</script>

इस कोड का आउटपुट होगा

उप प्रक्रियाएं

VBScript फ़ंक्शन

यदि आप कथनों की एक श्रृंखला को निष्पादित करना चाहते हैं और एक मान लौटाना चाहते हैं, तो आपको फ़ंक्शन प्रक्रियाओं का उपयोग करने की आवश्यकता है, जिन्हें आमतौर पर फ़ंक्शन के रूप में जाना जाता है।

फ़ंक्शन प्रक्रियाएं क्रमशः फ़ंक्शन और एंड फ़ंक्शन कथनों के साथ शुरू और समाप्त होती हैं।

एक फ़ंक्शन प्रक्रिया इनपुट ले भी सकती है और नहीं भी।

फ़ंक्शन प्रक्रियाएँ किसी मान को उसके नाम पर निर्दिष्ट करके उसे लौटाती हैं।

<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>

इस कोड का आउटपुट होगा

VBScript फ़ंक्शन

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 होगा.

सारांश

  • VBScript प्रक्रियाओं का उपयोग मुख्य रूप से बेहतर कोड संगठन और पुन: उपयोग के लिए किया जाता है।
  • वीबीएस प्रक्रियाएं दो प्रकार की होती हैं: उप प्रक्रियाएं और फ़ंक्शन प्रक्रियाएं।
  • यदि आप बिना कोई मान लौटाए कथनों की श्रृंखला निष्पादित करना चाहते हैं, तो आप उप प्रक्रियाओं का उपयोग कर सकते हैं।
  • यदि आप कथनों की एक श्रृंखला निष्पादित करना चाहते हैं और एक मान लौटाना चाहते हैं, तो आपको फ़ंक्शन प्रक्रियाओं का उपयोग करना होगा।
  • आप प्रक्रियाओं को संदर्भ या मान द्वारा तर्क पास कर सकते हैं। तर्क डिफ़ॉल्ट रूप से संदर्भ द्वारा पास किए जाते हैं।
  • यदि आप चाहते हैं कि प्रक्रिया के कॉल किए जाने के बाद भी तर्कों में किए गए परिवर्तन बने रहें, तो आपको तर्कों को संदर्भ द्वारा और अन्यथा मान द्वारा पास करना होगा।