बटन कंट्रोल क्या है एवं उपयोग | बटन कंट्रोल की भूमिका |वी. बी. डॉट नेट के बटन कंट्रोल | बटन कंट्रोल – वी. बी. डॉट नेट | Button Control In Vb.Net In Hindi
बटन कंट्रोल – बटन को सामान्यतः माउस का प्रयोग करके क्लिक किया जा सकता है, और यदि बटन फोकस्ड है तो इसे एण्टर या स्पेसवार की सहायता से भी क्लिक किया जा सकता है। आप बटन का रूप बदल सकते हैं। उदाहरण के लिए बटन की को वेब रूप देने के लिए इसके FlatStyle प्रॉपर्टी को Flat सेट कर सकते हैं ।
बटन कंट्रोल की सहायता से यूजर इसे क्लिक कर किसी एक्शन को सम्पन्न कर सकता है । बटन को जब क्लिक किया जाता है तो यह ऐसा दिखता है जैसे इसे पुश या रिलिज किया जा रहा हो । जब जब यूजर बटन को क्लिक करता है तब तब Click इवेण्ट हैण्डलर जागृत (invoke) होता है। इच्छित एक्शन को सम्पन्न करने के लिए Click इवेण्ट हैण्डलर से कोड लिखा जाता है। बटन पर टेक्स्ट को डिस्पले करने के लिए इसके Text प्रॉपर्टी में मान को सेट करते हैं।
बटन के टेक्स्ट में एक्सेस की भी डिफाइन कर सकते हैं जो की-बोर्ड नेविगेशन को सम्भव बनाता है । Image तथा ImageList प्रॉपर्टी की सहायता से बटन कंट्रोल पर इमेज को भी प्रकट किया जा सकता है ।
फॉर्म के AcceptButton तथा CancelButton प्रॉपर्टी को सेट करने के पश्चात् यूज़र ENTER या ESC की दबाकर बटन को क्लिक कर सकता है चाहे बटन फोकस्ड हो या न हो । ऐसा करने से फॉर्म में डायलॉग का आचरण आ जाता है। अर्थात आप ENTER की दबाकर बटन को क्लिक कर सकते हैं । AcceptButton Enter की को तथा CancelButton Esc की को प्रस्तुत करता है। ऐसा करने के लिए आपको AcceptButton तथा CancelButton प्रॉपर्टी के मान में उस बटन को सेट करना होगा जिसके लिए क्रमशः आप Enter की तथा Esc की सेट करना चाहते हैं।
विजुअल बेसिक में कमांड बटन क्या है? | बटन कंट्रोल – वी. बी. डॉट नेट के कार्य | What Is Button Control In VB Net?
1. बटन कंट्रोल के मुख्य प्रॉपर्टीज़ (Main Properties of Button Control)
इस खण्ड में वी. बी. डॉट नेट के बटन कंट्रोल के प्रॉपर्टी के बारे में जानते हैं। इनमें कुछ प्रॉपर्टी ऐसे हैं जो आप डिजायन समय में प्रॉपर्टीज़ विण्डो के माध्यम से सेट कर सकते हैं। तथा कुछ जो प्रॉपर्टीज़ विण्डो में प्रकट नहीं होते हैं उनहें रन समय में कोड के माध्यम से सेट कर सकते हैं। हालांकि सभी प्रॉपर्टी को प्रोग्राम के माध्यम से कोड लिख कर सेट किया जा सकता है।
AutoEllipsis – इस प्रॉपर्टी के माध्यम से आप यह सेट कर सकते हैं कि यदि बटन कंट्रोल की लम्बाई से अधिक बड़ा इसका टेक्स्ट है तो बटन कंट्रोल के दायीं किनारे पर इलिपसिस कैरेक्टर (…) प्रकट होगा अथवा नहीं । इस प्रॉपर्टी को True सेट करने से पहले बटन के AutoSize प्रॉपर्टी के मान को देख लें कि यह False है अथवा नहीं। यद्यपि False इसका बाइ डिफॉल्ट रहने दें ।
AutoSize – इस प्रॉपर्टी के माध्यम से आप यह सेट कर सकते हैं कि बटन अपने टेक्स्ट (जो इस पर लिखा है) के अनुसार स्वयं ही आकार को बढ़ा-घटा सकें। इसके लिए आपको इसे True सेट करना होगा। यदि ऐसा नहीं चाहते है, तो डिफॉल्ट False रहने दें ।
FlatStyle – बटन के फलैट स्टाइल अपिअरेन्स (रूप) को सुनिश्चित करता है। यह प्रॉपर्टी बटन के लिए बहुत उपयोगी नहीं है । इसमें चार मान Flat, Popup, Standard तथा System उपलब्ध होते हैं। इस प्रॉपर्टी को लेबल के संदर्भ में विस्तार से बताया गया है ।
FlatAppearance – यह प्रॉपर्टी तब प्रासंगिक है जब FlatStyle का प्रॉपर्टी Flat सेट है। यह बॉडर के अपिअरेन्स तथा चेक स्टेट व माउस स्टेट के रंग को सेट करता है । इसे सेट करने के लिए FlatAppearance के जोड़ चिन्ह (+) को क्लिक करें तथा BorderColor, BorderSize MouseDownBackColor तथा Mouse OverBackColor के माध्यम से बटन के बॉर्डर रंग, बॉर्डर आकार, माउस के क्लिक करने के पश्चात् बटन का बैकग्राउण्ड रंग तथा माउस को बटन के उपर ले जाने पर इसका रंग सेट करता है ।
Image – इसके माध्यम से आप बटन पर आकृति सेट कर सकते हैं।
ImageAlign – बटन पर यदि आकृति (image) सेट किया गया है, तो उसके अलाइनमेण्ट को सेट करता है।
MaximumSize – बटन के अधिकतम आकार को सेट करता है। इसके अंदर Width तथा Height आप सेट कर सकते हैं। या MaximumSize के सामने Width, Height फॉर्मेट में भी मान लिख सकते हैं।
TextAlign – बटन के टेक्स्ट को अलाइन करता है।
MinimumSize – इस प्रॉपर्टी के माध्यम से आप यह तय कर सकते हैं कि बटन का न्यूनतम चौड़ाई तथा ऊँचाई क्या होगी।
UseMnemonic – इस प्रॉपर्टी के माध्यम से आप टेक्स्ट को केवल टेक्स्ट अथवा टेक्स्ट और निमोनिक कोड के रूप में सेट कर सकते हैं। उदाहरण के लिए, यदि आप UseMnemonic को True सेट किया हुआ है, तो & टाइप करने पर इसके बाद आने वाला कैरेक्टर एक्सेस की में बदलेगा। यदि यह False सेट है तो आप जो लिखते हैं वही बटन पर लिखाता है।
Use WaitCursor – इस प्रॉपर्टी को True सेट करने पर ऐप्लीकेशन क्रियान्वित करने के बाद जब आप बटन पर माउस ले जायेंगे तो माउस का रूप ऐरो से बदलकर (डमरू) में बदल जायेगा जो प्रोसेस चालू है का सूचक है। False सेट करने पर हमेशा यह ऐरो ही रहेगा।
2. बटन कंट्रोल के मुख्य मेथड (Main Methods of Button Control)
इस खण्ड में वी. बी. डॉट नेट के बटन कंट्रोल के प्रमुख मेथड के विवरण Bring ToFront() –Z क्रम के आगे कंट्रोल को लाता है। यदि कण्ट्रोल किसी अन्य कण्ट्रोल का चाइल्ड है, तब वह चाइल्ड कन्ट्रोल Z क्रम के सबसे आगे प्रकट होता है। BringToFront किसी कंट्रोल को शीर्ष स्तरीय कंट्रोल नहीं बनाता है।
Hide() – बटन कंट्रोल को फॉर्म पर अदृश्य बनाता है। Show () – बटन कंट्रोल को फॉर्म पर दृश्य बनाता है यदि बटन कंट्रोल अदृश्य है।
3. बटन कंट्रोल के मुख्य इवेण्ट (Main Events of Button)
इस खण्ड में वी. बी. डॉट नेट के बटन कंट्रोल के प्रमुख इवेण्ट के बारे में जानते हैं। Click – यह तब घटित होता है जब बटन कंट्रोल को क्लिक किया जाता है। यह बटन कंट्रोल को डिफॉल्ट इवेण्ट है।
आओ अभ्यास करें –
एक विण्डोज एप्लिकेशन बनायें। इसमें एक लेबल, एक पैनल और दो बटन जोड़ें। एक बटन को दूसरे पर रखें ताकि फॉर्म पर केवल एक ही बटन दिखे। इसका इन्टरफेस डिजायन समय में हो तथा इनके प्रॉपर्टी इस प्रकार हों।
ऑब्जेक्ट
प्रॉपर्टी
मान
फॉर्म
Name
Form1
Text
Lab Exercise 7.2
लेबल
Name
Label1
Text
A
Font
Windings, 26
TextAlign
MiddleCenter
पैनल
Name
Panel1
बटन
Name
btnShow
Text
Show
बटन
Name
btnHide
Text
Hide
समाधान :
File मेन्यू को क्लिक करें तथा New Project का चयन करें।
New Project डायलॉग बॉक्स खुलने के पश्चात Templates पेन में Windows Application को क्लिक करें।
Name टेक्स्टबॉक्स में My Project टाइप करें तथा OK को क्लिक करें। उसके बाद एक नया विण्डोज फॉर्मस प्रोजेक्ट खुलेगा।
फॉर्म पर प्रश्न में दिए गए विवरण के अनुसार टूलबॉक्स से कंट्रोल को जोड़ें। तथा प्रश्नानुसार उनके प्रॉपर्टी को सेट करें तथा चित्रानुसार उनहें सजाएँ ।
फॉर्म को दो बार क्लिक करें और Form1_Load इवेण्ट हैण्डलर के लिए निम्नलिखित कोड लिखें- Private Sub Form1_Load (ByVal sender As System. Object, ByVal e As System.EventArgs) Handles MyBase.Load If Panel1. Contains (btnShow) Then btnShow.BringToFront ) Label1.Hide() End If End Sub
Private Sub btnShow_Click (By Val sender As System. Object, ByVal e As System.EventArgs) Handles btnShow.Click btnHide.BringToFront () Label1.Show()
End Sub Private Sub btnHide_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnHide.Click btnShow.BringToFront() Label1.Hide() End Sub
F5 दबाएँ। तथा परिणाम को देखें। परिणाम प्रकट होगा।
इस अभ्यास में BringToFront तथा Show मेथड का प्रयोग हुआ
लेबल कंट्रोल क्या होता है एवं कार्य | वी. बी. डॉट नेट के लेबल कंट्रोल | लेबल कंट्रोल की इंटरफेस डिजायन में क्या भूमिका है |The Label Control In Hindi
वी. बी. डॉट नेट के लेबल कंट्रोल – जब आप अपने यूजर इंटरफेस के समतल पृष्ठ पर कुछ टेक्स्ट या संकेत पहले से लिखकर प्रकट करना चाहते हों तो लेबल कंट्रोल सबसे बढ़िया विकल्प है। लेबल कंट्रोल का सामान्य उपयोग किसी कंट्रोल के लिए वर्णनात्मक शीर्षक (descriptive title) उपलब्ध कराना है। उदाहरण के लिए आप लेबल का प्रयोग कर टेक्स्टबॉक्स कंट्रोल का वर्णन करने हेतू टेक्स्ट जोड़ सकते हैं ताकि यूज़र को कंट्रोल में किस प्रकार का डाटा इनपुट करना है इससे अवगत किया जा सके। लेबल की सहायता से फॉर्म से सम्बंधित यूज़र को उपयोगी जानकारी देने हेतू भी टेक्स्ट को प्रकट कराया जा सकता है।
उदाहरण के लिए आप फॉर्म के सबसे उपर एक लेबल जोड़ कर यूज़र के लिए उपयोगी जानकारी उपलब्ध कर सकते हैं । लेबल का प्रयोग एप्लिकेशन के स्टेटस (status) पर रन टाइम सूचना देने के लिए भी हो सकता है । आप कोई शीर्षक, कोई विशेष चिन्ह, प्रकाशनाधिकार या कोई भी सूचना इस कंट्रोल की सहायता से इंटरफेस पर चिपका सकते हैं। लेबल पर चिपकाए गये सूचना हमेशा नॉन-एडिटेबल (non editable) होता है।
लेबल फॉर्म के टैब ऑडर में हिस्सा तो लेता है परन्तु इसे फोकस प्राप्त नहीं होता है बल्कि फोकस इसके बाद वाले कंट्रोल पर चला जाता है । उदाहरण के लिए यदि आप लेबल पर एक्सेस की डिफाइन करते हैं और उसे ALT की के साथ इनवोक करते तो वह लेबल फोकस होने के बजाय उसके बाद वाला कंट्रोल यथा टेक्स्टबॉक्स पर फोकस हो जायगा । इसके अतिरिक्त Image प्रॉपर्टी का उपयोग कर आप इस पर इमेज भी डिस्पले कर सकते हैं।
वी. बी. डॉट नेट के लेबल कंट्रोल की भूमिका | लेबल कंट्रोल तथा टेक्स्टबॉक्स में क्या अंतर है | Label Control Kya Hai In Hindi
1. लेबल कंट्रोल बनाम टेक्स्टबॉक्स कंट्रोल (Label Control Vs TextBox Control)
प्रोग्रामर इंटरफेस डिजायन करते समय अक्सर लेबल और टेक्स्टबॉक्स को एक दूसरे के स्थान पर उपयोग कर लेते हैं। टेक्स्टबॉक्स कहीं भी लेबल की तरह उपयोग किया जा सकता है। लेबल भी कहीं भी टेक्स्टबॉक्स की तरह उपयोग किया जा सकता है। यहाँ खास बात ध्यान देने वाली यह होती है कि लेबल द्वारा प्रस्तुत की गयी सूचना केवल पढ़ने योग्य (Read-only) होती है। इसमें कोई संशोधन नहीं किया जा सकता है।
जबकि टेक्स्टबॉक्स का उपयोग सामान्यतः डाटा को इनपुट करवाने में होता है। परन्तु यदि इसके ReadOnly, BackColor और BorderStyle प्रॉपर्टी को True, Control और None क्रमश: सेट कर दिया जाय तो यह भी बिल्कुल सामान्य लेबल की तरह लगेगा। यदि आप लेबल को टेक्स्टबॉक्स की तरह देखना चाहते हैं तो इसके BackColor तथा BorderStyle के प्रॉपर्टी को Window तथा Fixed3D क्रमश: सेट कर दें। परन्तु इनके रूपों को केवल बदला जा सकता है इनके कार्य करने की प्रकृति को कभी भी नहीं बदला जा सकता है।
लेबल कंट्रोल का कार्य सूचना को पढ़ने योग्य रूप में इंटरफेस पर चिपकाना है जबकि टेक्स्टबॉक्स कंट्रोल का मूल कार्य डाटा को इनपुट करवाना है जबकि इसके माध्यम से रीड-ऑनली डाटा को इंटरफेस पर प्रस्तुत किया जा सकता है।
2. लेबल कंट्रोलके मुख्य प्रॉपर्टीज (Main Properties of Label Control)
इस खण्ड में वी. बी. डॉट नेट के लेबल कंट्रोल के प्रॉपर्टी के बारे में जानते हैं। इनमें कुछ प्रॉपर्टी ऐसे हैं जो आप डिजायन समय में प्रॉपर्टीज विण्डो के माध्यम से सेट कर सकते हैं। तथा कुछ जो प्रॉपर्टीज विण्डो में प्रकट नहीं होते हैं उनहें रन समय में कोड के माध्यम से सेट कर सकते हैं। हालांकि सभी प्रॉपर्टी को प्रोग्राम के माध्यम से कोड लिख कर सेट किया जा सकता है।
AutoEllipsis – इस प्रॉपर्टी के माध्यम से आप यह सेट कर सकते हैं कि यदि लेबल की लम्बाई से अधिक बड़ा इसका टेक्स्ट होता है तो लेबल कंट्रोल के दायीं किनारे पर इलिपसिस कैरेक्टर (…) प्रकट होगा अथवा नहीं। इस प्रॉपर्टी को True सेट करने से पहले लेबल के AutoSize प्रॉपर्टी को False सेट करें।
AutoSize – इस प्रॉपर्टी के माध्यम से आप यह सेट कर सकते हैं कि लेबल अपने टेक्स्ट (जो इस पर लिखा है) के अनुसार स्वयं ही आकार को बढ़ा घटा सकता है अथवा नहीं इसके लिए आपको इसे True सेट करना होगा। यदि ऐसा नहीं चाहते है, तो False सेट कर दें।
BackColor – लेबल के बैकग्राउण्ड रंग को सेट करता है।
BorderStyle – लेबल के स्टाइल को सेट करता है। इसमें None, FixedSingle तथा Fixed3D विकल्प होते है
FlatStyle – लेबल के फलैट स्टाइल अपिअरेन्स (रूप) को सुनिश्चित करता है । यह प्रॉपर्टी लेबल के लिए बहुत उपयोगी नहीं है। इसमें चार मान Flat, Popup, Standard तथा System उपलब्ध होते हैं। जब आप Flat का चयन करते हैं तो यह समतल (flat) तब तक प्रकट रहता है जब तक कि माउस प्वाइन्टर इसके उपर न ले जाया जाय। जब Popup कंट्रोल के उपर माउस प्वाइन्टर को ले जाते हैं तब यह तब तक Standard स्टाइल की तरह ही प्रकट होता है जब तक कि माउस प्वाइन्टर को इस पर से न हटाया जाय। System स्टाइल को सेट करने पर कंट्रोल का रूप यूजर के द्वारा उपयोग किये जा रहे ऑपरेटिंग सिस्टम के द्वारा निर्धारित होता है तथा इसको सेट करने पर ImageAlign, Image, ImageIndex, ImageList तथा TextAlign के मान लागू नहीं होंगे। Standard स्टाइल लेबल को त्रि विमीय रूप में डिस्प्ले करता है।
Image – इसके माध्यम से आप लेबल पर आकृति सेट कर सकते हैं।
Image Align – लेबल पर यदि आकृति (Image) सेट किया गया है, तो उसके अलाइनमेण्ट को सेट करता है।
MaximumSize – लेबल के अधिकतम आकार को सेट करता है। इसके अंदर Width तथा Height आप सेट कर सकते हैं। या MaximumSize के सामने Width, Height फॉर्मेट में भी मान लिख सकते हैं।
TextAlign – लेबल के टेक्स्ट को अलाइन करता है।
MinimumSize – इस प्रॉपर्टी के माध्यम से आप यह तय कर सकते हैं कि लेबल का न्यून्तम चौड़ाई तथा ऊँचाई क्या होगी।
UseMnemonic – इस प्रॉपर्टी के माध्यम से आप टेक्स्ट को केवल टेक्स्ट अथवा टेक्स्ट और निमोनिक कोड के समायोजन के रूप में सेट कर सकते हैं। उदाहरण के लिए, यदि आप UseMnemonic को True सेट किया हुआ है, तो & टाइप करने पर इसके बाद आने वाला कैरेक्टर एक्सेस की में बदलेगा। यदि यह False सेट है तो आप जो लिखते हैं वही लेबल पर लिखाता है।
Use WaitCursor – इस प्रॉपर्टी को True सेट करने पर ऐप्लीकेशन क्रियान्वित करने के बाद जब आप लेबल पर माउस ले जायेंगे तो माउस का रूप ऐरो से बदलकर (डमरू) में बदल जायेगा जो प्रोसेस चालू है का सूचक है। False सेट करने पर हमेशा यह ऐरो ही रहेगा।
रिचटेक्स्टबॉक्स कंट्रोल क्या होता है एवं कार्य | वी. बी. डॉट नेट के रिचटेक्स्टबॉक्स कंट्रोल | The RichTextBox ControlIn Hindi
रिचटेक्स्टबॉक्स कंट्रोल – रिचटेक्स्टबॉक्स कंट्रोल का उपयोग फॉर्मेटिंग के साथ टेक्स्ट को डिस्प्ले करने, प्रविष्ट करने तथा मनिप्यूलेट करने में होता है। रिचटेक्स्टबॉक्स कंट्रोल मल्टीलाइन फीचर वाले टेक्स्ट बॉक्स (जिस टेक्स्टबॉक्स कंट्रोल का Multiline प्रॉपर्टी True सेट हो) की भांति ही कार्य करता है। रिचटेक्स्टबॉक्स तथा टेक्स्टबॉक्स में केवल अंतर का टेक्स्ट) ही लिख सकते हैं जबकि रिचटेक्स्टबॉक्स कंट्रोल आपके यह है कि टेक्स्टबॉक्स से आप केवल सादा टेक्स्ट (बिना फॉर्मेटिंग टेक्स्ट को फॉर्मेट करने के लिए भी विकल्प देता है।
रिचटेक्स्टबॉक्स ‘आप को फॉण्ट के लिए भी विकल्प उपलब्ध कराता है। रिचटेक्स्टबॉक्स में आप फॉण्ट और रंग का चयन कर सकते हैं। इसमें आप डायपरटेक्स्ट (हायपरलिंक के साथ टेक्स्ट) भी लिख सकते हैं। इमेज को लोड कर सकते हैं। और बहुत सारे कार्य कर सकते हैं। टेक्स्ट बॉक्स और रिचटेक्स्टबॉक्स के बीच एक बहुत बड़ा अंतर है। टेक्स्टबॉक्स में उपलब्ध फॉर्मेट विकल्प केवल एक फॉर्मेट को पूरे टेक्स्टबॉक्स पर लागू करता है।
उदाहरण के लिए पूरे नोटपैड में आप केवल एक ही फॉण्ट का उपयोग कर सकते हैं जबकि वर्डपैड में आप एक से अधिक फॉण्ट अलग-अलग टेक्स्ट के लिए उपयोग कर सकते हैं। रिचटेक्स्टबॉक्स के मुख्य प्रॉपर्टी, मेथड तथा इवेण्ट का विवरण आगे के खण्डों में प्रस्तुत किया जा रहा है।
रिचटेक्स्टबॉक्स कंट्रोल क्या है एवं कार्य तथा उपयोग | क्या रिचटेक्स्टबॉक्स को पासवर्ड बॉक्स के रूप में उपयोग किया जा सकता है |RichTextBox Control in Hindi
1. रिचटेक्स्टबॉक्स के मुख्य प्रॉपर्टी (Main Properties of RichText Box)
इस खण्ड में वी. बी. डॉट नेट के रिचटेक्स्टबॉक्स कंट्रोल के प्रॉपर्टी के बारे में जानते हैं। इनमें कुछ प्रॉपर्टी ऐसे हैं जो आप डिजायन समय में प्रॉपर्टीज़ विण्डो के माध्यम से सेट कर सकते हैं। तथा कुछ जो प्रॉपर्टीज़ विण्डो में प्रकट नहीं होते हैं उनहें रन समय में कोड के माध्यम से सेट कर सकते हैं। हालांकि सभी प्रॉपर्टी को प्रोग्राम के माध्यम से कोड लिख कर सेट किया जा सकता है।
रिचटेक्स्टबॉक्स के प्रॉपर्टी एवं विवरण :
AutoWordSelection – स्वतः ही शब्द चयन सक्रिय होगा या नहीं को स्पष्ट करने वाले मान को सेट करता है या उसके बारे में सूचना देता है। यदि यह सत्य है तो शब्द चयन सक्रिय होता है अन्यथा असत्य होता है। सत्य इसका डिफॉल्ट मान होता है। यदि यह प्रॉपर्टी सत्य सेट है तो टेक्स्टबॉक्स में टेक्स्ट के किसी एक हिस्से के चयन करने पर ही पूरा शब्द चयन हो जाता है।
BorderStyle – रिचटेक्स्टबॉक्स के बॉडरटाइप को सेट करता है या उसके बारे में बताता है। आप BorderStyle प्रॉपर्टी का उपयोग कर डिफॉल्ट त्रि-विमीय (three dimensional) रिच टेक्स्ट बॉक्स बनाने के अतिरिक्त समतल रूपी (flat style) तथा बॉर्डर रहित borderless) रिच टेक्स्टबॉक्स बना सकते हैं।
BulletIndent – रिचटेक्स्टबॉक्स में इंडेनटेशन को सेट करता है या उसके बारे में बताता है।
CanRedo – यह सूचित करता है कि रिचटेक्स्टबॉक्स में कुछ ऐसे एक्शन हैं जिन्हें दोबारा लागू किया जा सकता है। आप इस प्रॉपर्टी का उपयोग कर यह सुनिश्चित कर सकते हैं कि रिचटेक्स्टबॉक्स में रद्द (undone) किया गया अंतिम ऑपरेशन को Redo मेथड का उपयोग कर पुनः सम्पन्न किया जा सकता है अथवा नहीं।
CanUndo – पिछले कार्य को अनडू किया सकता है या नहीं को स्पष्ट करता हुआ मान लौटाता है। यदि सत्य है तो यूजर रिचटेक्स्टबॉक्स में पिछले सम्पन्न क्रिया को रद्द (undo) कर सकता है यदि असत्य है तो यूजर इसे नहीं कर सकता है।
ContextMenuStrip – यह प्रॉपर्टी डॉट नेट फ्रेमवर्क संस्करण 2.0 में परिचित किया गया है। यह इस रिचटेक्स्टबॉक्स कंट्रोल में संबद्ध ContextMenuStrip को सेट करता है या उसके बारे में बताता है।
DetectUrls – रिचटेक्स्टबॉक्स में टाइप किये जाने पर यू. आर. एल. (हाइपरलिंक) पहचाना जायेगा या नहीं को स्पष्ट करता हुआ मान सेट करता है या उसके बारे में बताता है। यदि इसका मान सत्य हो तो रिचटेक्स्टबॉक्स स्वतः ही रिचटेक्स्टबॉक्स में टाइप किये गये यू.आर.एल. को लिंक में बदल देता है। यदि असत्य है तो इसमें टाइप किया गया यू.आर.एल. सामान्य टेक्स्ट की भाँति होता है। इसका डिफॉल्ट मान सत्य होता है।
HideSelection – RichText Box कंट्रोल से फोकस हटने पर चयनित टेक्स्ट हाइलाइटेड होगा या नहीं को स्पष्ट करता हुआ मान सेट करता है या उसके बारे में बताता है।
ImeMode – ImeMode प्रॉपर्टी रिचटेक्स्टबॉक्स में इनपुट मेथड एडिटर (Input Method Editor) के मोड को सेट करता है। इनपुट मेथड एडिटर एक प्रोग्राम है जो यूजर को स्टैण्डर्ड की-बोर्ड की सहायता से जापानी कानजी (Japanese Kanji) अक्षर जैसे जटिल अक्षरों तथा संकेतों को प्रविष्ट करने की क्षमता प्रदान करता है।
LanguageOption – यह प्रॉपर्टी डॉट नेट फ्रेमवर्क संस्करण 2.0 में नया जोड़ा गया है। यह इनपुट मेथड एडिटर तथा एशियाई भाषा सपोर्ट के लिए रिचटेक्स्टबॉक्स सेटिंग्स से संबंधित मान सेट करता है।
Lines – रिचटेक्स्टबॉक्स कंट्रोल में टेक्स्ट की पंक्तियों को सेट करता है या उसके बारे में बताता है
MaximumSize – यह प्रॉपर्टी डॉट नेट फ्रेमवर्क संस्करण 2.0 में नया जोड़ा गया है। यह उस आकार को सेट करता है जो वह अधिकतम सीमा होता है जिसे GetPreferredSize स्पष्ट करता है।
MaxLength – रिचटेक्स्टबॉक्स में उपयोगकर्ता द्वारा टाइप किये जाने वाले कैरेक्टरों की अधिकतम सीमा को सेट करता है। या इसके बारे में बताता है। इस प्रॉपर्टी का उपयोग सामान्यतः तब होता है जब आप रिचटेक्स्टबॉक्स का उपयोग एक लाइन का रिच टेक्स्ट फॉरमेट (RTF) टेक्स्ट डिस्प्ले करने के लिए कर रहे हों। आप इस प्रॉपर्टी का उपयोग कर रिचटेक्स्टबॉक्स में प्रविष्ट किये जाने वाले पोस्टल कोड तथा दूरभाष संख्या जैसे मानों की लम्बाई को सीमित कर सकते हैं या डाटाबेस में डाटा को प्रविष्ट करने हेतु किये जा रहे टेक्स्टबॉक्स की अधिकतम सीमा को निर्धारित कर सकते हैं। आप इसका उपयोग कर कंट्रोल में प्रविष्ट टेक्स्ट की सीमा को डाटाबेस के संबंधित फील्ड के अधिकतम लम्बाई के अनुसार भी सीमित कर सकते हैं।
Modified – उस मान को सेट करता है या उसके बारे में सूचना देता है, जो यह दर्शाता है कि कंट्रोल के बनने के बाद उपयोगकर्त्ता ने इसे संपादित किया है या इसके विषय-बस्तु मेंअभी-अभी संशोधन किया गया है। इस प्रॉपर्टी का उपयोग वेलिडेशन तथा डाटा संरक्षण मेथड के द्वारा यह सुनिश्चित करने के लिए करते हैं कि रिचटेक्स्टबॉक्स कंट्रोल के अंदर बदलाव हुआ है अथवा नहीं ताकि बदले हुए विषय-वस्तु को वेलिडेट या सुरक्षित किया जा सके।
MinimumSize – यह प्रॉपर्टी डॉट नेट फ्रेमवर्क संस्करण 2.0 में पहली बार परिचित कराया गया है। यह उस आकार को सेट करता है जो वह अधिकतम सीमा होता है जिसे GetPreferredSize स्पष्ट करता है।
Multiline – वह मान सेट करता है या उसके बारे में बताता है जो यह स्पष्ट करता है कि यह रिचटेक्स्टबॉक्स कंट्रोल मल्टीलाइन है अथवा नहीं। यदि यह सत्य है तो रिचटेक्स्टबॉक्स में एक लाइन से अधिक टेक्स्ट जोड़ा जा सकता है। यदि इसका मान असत्य सेट है तो इसमें केवल एक लाइन में ही टेक्स्ट हो सकता है। सत्य इसका डिफॉल्ट मान होता है।
ReadOnly – रिचटेक्स्टबॉक्स का टेक्स्ट रीड ऑनली होगा अथवा नहीं इसके लिए यह प्रॉपर्टी मान सेट करता है। इस प्रॉपर्टी के मान में सत्य (True) सेट होने पर यूजर इसके विषय-वस्तु को रन टाइम में बदल नहीं सकता।
RightToLeft – इस प्रॉपर्टी का उपयोग कर आप सुनिश्चित कर सकते हैं कि रिचटेक्स्टबॉक्स के विषय-वस्तु दायें से बायें फॉण्ट का उपयोग करने वाले स्थानीय भाषाओं को सपोर्ट करेगा अथवा नहीं। RightToLeft प्रॉपर्टी का अंतर्राष्ट्रीय एप्लिकेशनों के लिए उपयोग होता है जहाँ लिपि दायीं से बायीं ओर लिखा जाता है। अरबी, उर्दू इसका उदाहरण है।
Rtf – सभी रिचटेक्स्ट फॉर्मेट (Rich Text Format) कोड को सम्मिलित करते हुए रिचटेक्स्टबॉक्स कंट्रोल के टेक्स्ट को सेट करता है या उसके बारे में बताता है। इस प्रॉपर्टी का सामान्यतः उपयोग तब होता है जब आप अन्य आर.टी.एफ. (RTF) स्रोत यथा माइक्रोसॉफ्ट वर्ड या माइक्रोसॉफ्ट वर्डपैड से कंट्रोल को आर.टी.एफ. टेक्स्ट असाइन कर रहे हों।
ScrollBars – रिचटेक्स्टबॉक्स कंट्रोल में प्रदर्शित होने वाले स्क्रॉलबारों के प्रकार को सेट करता है या इसके बारे में सूचना देता है। यह प्रॉपर्टी रिचटेक्स्टबॉक्स में यूजर को क्षैतिज तथा उदग्र स्क्रॉलबार फीचर प्रदान करता है ताकि रिचटेक्स्टबॉक्स के अदृश्य टेक्स्ट को यूजर उपर नीचे दाये बायें स्क्रॉल कर देख सके। आप इस प्रॉपर्टी का उपयोग कर रिचटेक्स्ट बॉक्स से स्क्रॉलबार हटाकर कंट्रोल के सामग्री को स्क्रॉल करने से रोक सकते हैं।
SelectedRtf – कंट्रोल से चयनित (वर्तमान में) रिचटेक्स्टबॉक्स फॉर्मेट में फॉर्मेट किये गये टेक्स्ट को सेट करता है या उसके बारे में सूचना देता है। यह प्रॉपर्टी आपको कंट्रोल में आर.टी.एफ. (RTF) फॉरमेटिंग कोड के साथ चयनित टेक्स्ट को प्राप्त करने में सक्षम बनाता है। आप इस प्रॉपर्टी का उपयोग कर आप अपने कंट्रोल से टेक्स्ट को कॉपी कर सकते हैं, उसकी फॉरमेटिंग कर सकते हैं तथा माइक्रोसॉफ्ट वर्ड और विण्डोज वर्डपैड जैसे अन्य एप्लिकेशन जो आर.टी.एफ. फॉरमेट के टेक्स्ट को स्वीकार करते हैं में टेक्स्ट को पेस्ट कर सकते हैं। बगैर आर.टी.एफ. फॉरमेटिंग कोड के चयनित टेक्स्ट को प्राप्त करने के लिए इसके बदले SelectedText प्रॉपर्टी का उपयोग होता है। यदि वर्तमान में कोई टेक्स्ट चयनित नहीं है तो इस प्रॉपर्टी में स्पष्ट टेक्स्ट इंसर्शन प्वाइण्ट पर इंसर्ट होता है। यदि टेक्स्ट चयनित है तो इस प्रॉपर्टी से असाइन किया गया टेक्स्ट चयनित टेक्स्ट को बदल देता है।
SelectedText – टेक्स्ट को सेट करता है या उसके बारे में सूचना देता है।
SelectionAlignment – वर्तमान इंसर्शन प्वाइण्ट या चयन में अलाइनमेण्ट को सेट करता है या उसके बारे में सूचना देता है।
SelectionBullet – वह मान सेट करता है या इसके बारे में बताता है, जो स्पष्ट करता है कि बूलेट स्टाइल वर्तमान चयन या इनसर्शन प्वाइण्ट में लागू हो या नहीं।
SelectionColor – इंनसर्शन प्वाइन्ट या वर्तमान टेक्स्ट चयन के टेक्स्ट रंग को सेट करता है या उसके बारे में बताता है।
SelectionFont – इनसर्शन प्वाइन्ट या वर्तमान टेक्स्ट चयन के फॉण्ट को सेट करता है या उसके बारे में बताता है।
Selection HangingIndent – चयनित अनुच्छेद (पैराग्राफ) में टेस्ट के पहले लाइन के बायें किनारे तथा उसी अनुच्छेद (पैराग्राफ) के अगले लाइनों के बाय किनारे की दूरी को सेट करता है या उसके बारे में सूचना देता है।
Selection Indent – रिनटेक्स्टॉक्स के बायें किनारे तथा इनसर्शन प्वाइण्ट के बाद जोड़े गये टेक्स्ट या वर्तमान टेक्स्ट चयन के बायें किनारे के मध्य की दूरी को पिक्सेल में सेट करता है या उसके बारे में बताता है।
SelectionLength – कंट्रोल से चयनित कैरेक्टर की सीमा को सेट करता है या उसके बारे में बताता है।
Selection RightIndent – रिचटेक्स्टबॉक्स के दायें किनारे तथा चयनित टेक्स्ट के दायें किनारे के मध्य की दूरी को पिक्सेल में सेट करता है या उसके बारे में बताता है।
Selection Start – टेक्स्टबॉक्स में चयनित टेक्स्ट के प्रारम्भिक प्वाइण्ट को सेट करता है या उसके बारे में सूचना देता है।
Selection Tabs – रिचटेक्स्टबॉक्स कंट्रोल में पूर्ण टैब स्टॉप पोजीशन को सेट करता है या उसके बारे में सूचना देता है।
Text – रिचटेक्स्टबॉक्स में वर्तमान टेक्स्ट को सेट करता है या इसके बारे में सूचना देता है।
WordWrap – मल्टीलाइन रिचटेक्स्टबॉक्स कंट्रोल शब्दों में वर्ड रैप स्वतः ही होगा या नहीं यह सेंट करता या इसका संकेत देता है।
ZoomFactor – रिचटेक्स्टबॉक्स वर्तमान जूम स्तर को सेट करता है या फिर उसके बारे में बताता है।
2. रिचटेक्स्टबॉक्स के मुख्य मेथड (Main Methods of Rich Text Box )
इस खण्ड में वी. बी. डॉट नेट के रिचटेक्स्टबॉक्स कंट्रोल के प्रमुख मेथडस् के बारे में जानते हैं ।
Append Text()
रिचटेक्स्टबॉक्स के वर्तमान टेक्स्ट में टेक्स्ट को जोड़ता है।
CanPaste()
क्लिपबोर्ड से सूचना को आप पेस्ट कर सकते हैं या नहीं यह निर्धारित करता है
Clear()
रिचटेक्स्टबॉक्स कंट्रोल से सभी टेक्स्ट को क्लियर करता है।
Clear Undo()
रिचटेक्स्टबॉक्स के अनडू बफर से सबसे हाल के ऑपरेशन के बारे में सूचना को क्लियर करता है।
Copy()
रिचटेक्स्टबॉक्स के वर्तमान चयन को क्लिपबोर्ड में कॉपी करता है।
Cut()
रिचटेक्स्टबॉक्स के वर्तमान चयन को वहाँ से हटाकर क्लिपबोर्ड में भेजता है।
DeselectAll
SelectionLength प्रॉपर्टी के मान को 0 सेट करता है ताकि रिचटेक्स्टबॉक्स से अक्षर न हो।
Find ()
रिचटेक्स्टबॉक्स के विषय वस्तु में से टेक्स्ट को ढूँढ़ता है।
LoadFile ()
रिचटेक्स्टबॉक्स कंट्रोल में फाइल के विषयवस्तु को लोड करता है।
Paste ()
रिचटेक्स्टबॉक्स कंट्रोल में क्लिप बोर्ड के विषयवस्तु को पेस्ट करता है।
Redo ()
रिचटेक्स्टबॉक्स कंट्रोल में निरस्त किये गये अंतिम ऑपरेशन को फिर से कार्यान्वित करता है।
SaveFile ()
रिचटेक्स्टबॉक्स के विषय वस्तु को फाइल में सुरक्षित करता है।
ScrollToCaret()
रिचटेक्स्टबॉक्स कंट्रोल के विषय वस्तु को वर्तमान कैरेट पोजिशन तक स्क्रॉल करता है।
Select ()
रिचटेक्स्टबॉक्स कंट्रोल के अंदर टेक्स्ट का चयन करता है।
SelectAll()
रिचटेक्स्टबॉक्स में सभी टेक्स्ट का चयन करता है।
Undo()
रिचटेक्स्टबॉक्स में अंतिम संपादन क्रिया (edit operation) को अनडू करता है।
3. रिचटेक्स्टबॉक्स के मुख्य इवेण्ट (Main Events of RichText Box)
इस खण्ड में वी. बी. डॉट नेट के रिचटेक्स्टबॉक्स कंट्रोल के प्रमुख इवेण्ट के बारे में जानते हैं।
Back Color Changed – BackColor प्रॉपर्टी के मान के बदलने पर यह घटित होता है।
FontChanged – Font प्रॉपर्टी के मान के बदलने पर यह घटित होता है।
ForeColorChanged – ForeColor प्रॉपर्टी के मान के बदलने पर यह घटित होता है।
HScroll – उपयोगकर्ता के द्वारा कंट्रोल के क्षैतिज स्क्रॉलवार को क्लिक करने पर यह घटित होता है।
Link Clicked – उपयोगकर्ता जब कंट्रोल के टेक्स्ट के अंदर किसी लिंक को क्लिक करता है तब यह घटित होता है।
Margin Changed – कंट्रोल के हाशिए (margin) के बदलाव पर यह घटित होता है।
Modified Changed – कंट्रोल के Modified प्रॉपर्टी के मान के बदलने पर यह घटित होता है।
MouseWheel – कंट्रोल फोकस रहने की स्थिति माउस व्हील के घूमने पर घटित होता है।
MultilineChanged – Multiline प्रॉपर्टी के मान में बदलाव होने पर यह घटित होता है।
ReadOnlyChanged – ReadOnly प्रॉपर्टी के मान में बदलाव होने पर यह घटित होता है।
RightToLeftChanged – RightToLeft प्रॉपर्टी के मान में बदलाव होने पर यह घटित होता है।
Selection Changed – कंट्रोल के अंदर टेक्स्ट के चयन के बदलने पर यह घटित होता है।
VScroll – उपयोगकर्ता के द्वारा उदग्र स्क्रॉलबार पर क्लिक किये जाने पर यह घटित होता है।
विजुअल बेसिक में टेक्स्ट बॉक्स कंट्रोल क्या है? | टेक्स्ट बॉक्स क्या है | Text Box Control in Visual Basic
विजुअल बेसिक में टेक्स्ट बॉक्स कंट्रोल – माइक्रोसॉफ्ट वर्ड, नोटपैड, वर्डपैड या अन्य किसी वर्ड प्रोसेसर में आपने कार्य किया होगा। आप इन सॉफ्टवेयर के जिस क्षेत्र में कुछ लिखते हैं वह वस्तुत: टेक्स्टबॉक्स ही होता है। टेक्स्टबॉक्स का उपयोग प्रयोक्ता से डाटा प्रविष्ट करवाने के लिए होता है। इसके अतिरिक्त इसका प्रयोग टेक्स्ट डिस्प्ले करवाने में भी हो सकता है, जो कि केवल प्रयोक्ताओं को पढ़ने के लिए होता है।
इस कंट्रोल के साथ Multiline, ScrollBars, ReadOnly के अतिरिक्त कई सारी प्रॉपर्टी आते हैं, जो टेक्स्टबॉक्स से कई कार्य करवाने में उपयोगी होते हैं। टेक्स्टबॉक्स में टेक्स्ट लिखने के लिए इसका Text प्रॉपर्टी होता है यद्यपि आप सामान्यतः कोडिंग के माध्यम से ही तथा सीधे-सीधे भी टेक्स्ट लिख सकते हैं। इसके प्रमुख प्रॉपर्टी को अगले खण्ड में लिखा गया है।
1. टेक्स्टबॉक्स कंट्रोल के प्रमुख प्रॉपर्टी (Main Properties Of The TextBox Control)
इस खण्ड में वी. बी. डॉट नेट के टेक्स्टबॉक्स कंट्रोल के प्रॉपर्टी के बारे में जानते हैं। इनमें कुछ प्रॉपर्टी ऐसे हैं जो आप डिजायन समय में प्रॉपर्टीज़ विण्डो के माध्यम से सेट कर सकते हैं। तथा कुछ जो प्रॉपर्टीज़ विण्डो में प्रकट नहीं होते हैं उनहें रन समय में कोड के माध्यम से सेट कर सकते हैं। हालांकि सभी प्रॉपर्टी को प्रोग्राम के माध्यम से कोड लिख कर सेट किया जा सकता है ।
AutoSize
AutoSize वह प्रॉपर्टी है जो उस मान को सेट करता है या प्राप्त करता है जो यह स्पष्ट करता है कि टेक्स्टबॉक्स की ऊँचाई स्वतः ही घंटे या बढ़े जब इस कंट्रोल का आकार बदला जाय।
BackColor
BackColor वह प्रॉपर्टी है जो टेक्स्टबॉक्स के बैकग्राउण्ड रंग को सेट करता है या प्राप्त करता है।
BorderStyle
BorderStyle टेक्स्टबॉक्स कंट्रोल के बॉर्डर टाइप को सेट करता है।
CanUndo
यह प्रॉपर्टी यूजर पिछले ऑपरेशन को अनडू कर सकता है अथवा नहीं इसको स्पष्ट करने हेतु मान लौटाता है।
ForeColor
ForeColor प्रॉपर्टी का उपयोग टेक्स्टबॉक्स के फोरग्राउण्ड रंग को सेट करता है। फोरग्राउण्ड रंग टेक्स्टबॉक्स में टाइप होने वाले टेक्स्ट का रंग होता है।
HideSelection
यह प्रॉपर्टी उस मान को सेट करता है जो यह स्पष्ट करता है कि टेक्स्टबॉक्स कंट्रोल में चयनित टेक्स्ट टेक्स्टबॉक्स से फोक्स हटने के बाद भी हाइलाइटेड रहता है अथवा नहीं।
ImeMode
ImeMode प्रॉपर्टी कंट्रोल के इनपुट मेथड एडिटर मोड को सेट करता है। इनपुट मेथड एडिटर एक प्रोग्राम है जो यूजर को स्टैण्डर्ड की बोर्ड की सहायता से जापानी कानजी अक्षर जैसे जटिल अक्षरों तथा संकेतों को प्रविष्ट करने की क्षमता प्रदान करता है।
Lines
यह प्रॉपर्टी टेक्स्ट बॉक्स कंट्रोल में टेक्स्ट की लाइनों को सेट करता है।
Margin
यह प्रॉपर्टी डॉट नेट फ्रेमवर्क संस्करण 2.0 में नया है। यह कंट्रोलों के मध्य स्थान सेट करता है।
MaximumSize
यह प्रॉपर्टी डॉट नेट फ्रेमवर्क संस्करण 2.0 में नया है। यह उस आकार को सेट करता है जो वह अधिकतम सीमा होता है जिसे GetPreferredSize स्पष्ट करता है।
MaxLength
MaxLength प्रॉपर्टी टेक्स्टबॉक्स कंट्रोल के लिए एक अत्यंत महत्वपूर्ण प्रॉपर्टी है। यह टेक्स्ट बॉक्स में अक्षरों की वह अधिकतम संख्या सेट करता है जो यूजर टाइप कर सकता है या पेस्ट कर सकता है। इस प्रॉपर्टी का उपयोग कर आप टेक्स्टबॉक्स में प्रविष्ट किये जाने वाले पोस्टल कोड तथा दूरभाष संख्या जैसे मानों की लम्बाई को सीमित कर सकते हैं या डाटाबेस में डाल को प्रविष्ट करने हेतु किये जा रहे टेक्स्टबॉक्स की अधिकतम सीमा को सीमित कर सकते हैं।
MinimumSize
यह प्रॉपर्टी डॉट नेट फ्रेमवर्क संस्करण 2.0 में पहली बार परिचित कराया गया है। यह उस आकार को सेट करता है जो वह न्यूनतम सीमा होता है जिसे GetPreferredSize स्पष्ट करता है।
Modified
इस प्रॉपर्टी का उपयोग उस मान को सेट करता है जो यह सूचित करता है कि यूजर द्वारा टेक्स्टबॉक्स के विषयवस्तु को संशोधित किया गया है जब से यह कंट्रोल बना है या इसके विषय वस्तु को अंतिम बार सेट किया गया है। यह सत्य होता है यदि कंट्रोल के विषय वस्तु को संशोधित किया गया अन्यथा असत्य। असत्य इसका डिफॉल्ट मान है। आप इस प्रॉपर्टी का उपयोग यह निर्धारित करने के लिए कर सकते हैं कि टेक्स्ट बॉक्स कंट्रोल के विषय वस्तु को संशोधित किया गया है। आप इस प्रॉपर्टी का उपयोग कोड में करके यह संकेत कर सकते हैं कि एप्लिकेशन के द्वारा टेक्स्टबॉक्स कंट्रोल में संशोधन किये गये हैं। इस प्रॉपर्टी का उपयोग वेलिडेशन तथा डाटा संरक्षण (data saving) मेथड के द्वारा यह सुनिश्चित करने के लिए किया जा सकता है कि टेक्स्टबॉक्स में बदलाव किये गये हैं अथवा नहीं ताकि बदले गये विषय वस्तु को वेलिडेट या सुरक्षित किया जा सके।
Multiline
यह प्रॉपर्टी उस मान को सेट करने के लिए उपयोग किया जाता है जो यह बताता है कि इस टेक्स्टबॉक्स में टेक्स्ट एक लाइन से अधिक जोड़ा जा सकता है अथवा नहीं।
PasswordChar
इसका उपयोग सिंगल लाइन टेक्स्ट बॉक्स में पासवर्ड के अक्षरों के छिपाने के लिए होता है। यदि टेक्स्टबॉक्स का Multiline प्रॉपर्टी सत्य सेट है तो PasswordChar प्रॉपर्टी सेट करने पर कोई विजुअल प्रभाव नहीं होता है। PasswordChar के सत्य सेट होने पर टेक्स्टबॉक्स में कट, कॉपी तथा पेस्ट कार्य सम्पन्न नहीं हो सकते चाहे इसका Multiline प्रॉपर्टी सत्य हो या असत्य हो।
ReadOnly
इस प्रॉपर्टी का उपयोग टेक्स्ट बॉक्स में टेक्स्ट बॉक्स को केवल पढ़ने योग्य बनाने में होता है। यदि यह प्रॉपर्टी सत्य हो तो इसके टेक्स्ट में कोई संशोधन नहीं किया जा सकता है।
ScrollBars
यह प्रॉपर्टी मल्टीलाइन टेक्स्टबॉक्स में कौनसे स्क्रॉलबार प्रकट होंगे इसको सेट करता है। आप इसमें स्क्रॉलबार नहीं सेट करने के लिए None, केवल क्षैतिज स्क्रॉलबार प्रकट करने के लिए Horizontal, उदग्र स्क्रॉलबार प्रकट करने के लिए Vertical तथा दोनों स्क्रॉलबार को प्रकट करने के लिए Both सेट कर सकते हैं। क्षैतिज स्क्रॉलबार तब प्रकट होता है जब टेक्स्टबॉक्स का WordWrap प्रॉपर्टी असत्य सेट हो तथा दोनों में कोई भी स्क्रॉलबार तब तक प्रकट नहीं होता जब तक कि इसका Multiline प्रॉपर्टी सत्य (True) सेट न किया गया हो।
Selected Text
यह प्रॉपर्टी टेक्स्टबॉक्स के वर्तमान चयनित टेक्स्ट को स्पष्ट करता हुआ मान सेट करता है ।
SelectionLength
यह प्रॉपर्टी टेक्स्टबॉक्स में चयनित अक्षरों की संख्या को सेट करता है या उसके बारे में बताता है।
SelectionStart
Selection Start प्रॉपर्टी टेक्स्ट बॉक्स में चयनित टेक्स्ट के प्रारम्भिक प्वाइन्ट को सेट करता है या उनके बारे में बताता है।
Size
टेक्स्टबॉक्स के उँचाइ तथा चौड़ाई को सेट करता है। या उसके बारे में बताता है। इसकी ऊँचाई टेक्स्टबॉक्स के फॉण्ट आकार प्रॉपर्टी पर भी निर्भर करता है।
TextAlign
यह प्रॉपर्टी टेक्स्टबॉक्स में टेक्स्ट का अलाइनमेण्ट कैसा होगा यह सेट करता है।
TextLength
इस प्रॉपर्टी का उपयोग टेक्स्टबॉक्स में टेक्स्ट की लम्बाई को प्राप्त करने में होता है। आप इस प्रॉपर्टी का उपयोग टेक्स्टबॉक्स के टेक्स्ट के दर टेक्स्ट के विशेष स्ट्रिंग हेतु सर्च जैसे कार्यों के लिए स्ट्रिंग में कैरेक्टरों की संख्या को सुनिश्चित कर सकते हैं।
Visible
इस प्रॉपर्टी का उपयोग कंट्रोल को दृश्य रखने या अदृश्य करने हेतु मान सेट करने में होता है।
WordWrap
यह प्रॉपर्टी तब कार्य करेगा जब इसका Multiline प्रॉपर्टी True हो। यह प्रॉपर्टी टेक्स्टबॉक्स (मल्टीलाइन) में वडरैप की सुविधा उपलब्ध हो अथवा न हो को स्पष्ट करता है। इसका बाई डिफॉल्ट मान True होता है।
2. टेक्स्टबॉक्स के मुख्य मेथड (Main Methods of TextBox)
इस खण्ड में वी. बी. डॉट नेट के टेक्स्टबॉक्स कंट्रोल के मुख्य मेथडों के बारे में जानते हैं । मेथड एवं विवरण :
AppendText()
टेक्स्टबॉक्स में उपलब्ध टेक्स्ट के साथ नये टेक्स्ट को जोड़ता है। आप Text प्रॉपर्टी के माध्यम से कॉनकॅटिनेशन ऑपरेटर (+) का उपयोग करके टेक्स्ट को जोड़ने के बजाय इस मेथड का उपयोग कर पहले से उपलब्ध टेक्स्ट में नये टेक्स्ट को जोड़ सकते हैं।
Clear()
टेक्स्टबॉक्स कंट्रोल से टेक्स्ट को रिक्त करता है।
Clear Undo()
टेक्स्टबॉक्स के अनडू बफर से सभी सूचना को हटाता है।
Copy()
टेक्स्टबॉक्स से वर्तमान चयन को क्लिपबोर्ड में कॉपी करता है।
Cut()
टेक्स्टबॉक्स से चयनित टेक्स्ट को हटाकर क्लिपबोर्ड में भेजता है।
DeselectAll()
स्पष्ट करता है कि SelectionLength प्रॉपर्टी का मान शून्य है ताकि कंट्रोल में कोई कैरेक्टर चयनित न रहे। SelectionLength प्रॉपर्टी टेक्स्टबॉक्स में चयनित कैरेक्टरों की संख्या को सेट करता है ।
Paste()
क्लिपबोर्ड के सामग्री को टेक्स्टबॉक्स में चिपकाता है।
SelectAll()
टेक्स्टबॉक्स के सभी टेक्स्ट का चयन करता है।
Undo()
टेक्स्टबॉक्स में किये गये अंतिम ऑपरेशन को अनडू करता है।
विजुअल बेसिक में टेक्स्ट बॉक्स कंट्रोल का उपयोग | वीबी नेट में टेक्स्टबॉक्स वैल्यू कैसे प्रिंट करें? | Textbox Control in vb.net in hindi
सवाल :इंटेलिसेंस की सहायता से कंट्रोल के प्रॉपर्टी और मेथड को एक्सेस करना। जवाब : जब आप कोड एडिटर विण्डो में किसी कंट्रोल का नाम टाइप करने के बाद पीरियड () टाइप करते हैं तब एक लिस्टबॉक्स प्रकट होता जिसे इंटेलिसेंस (IntelliSense) कहा जाता है। इंटेलिसेस की सहायता से आप उस कंट्रोल के सभी सदस्य (members) को एक्सेस कर सकते हैं, उसके बारे में जान सकते हैं तथा उसमें उपयोग होने वाले पैरामीटर को जान सकते हैं ।
यह कंट्रोल के सभी सदस्यों के बारे में शीघ्र सूचना हासिल करने में आपकी सहायता करता है। यह आपके शब्द को पूरा भी करता है। इंटेलिसेंस गलत लोडिंग (यथा गलत कंट्रोल का नाम), कमेण्ट है। कोड देने पर या फिर उद्वरण चिन्ह के अंदर प्रकट नहीं होता है। इंटेलिसेंस को ऑफ भी किया जा सकता है इस स्थिति में भी इंटेलिसेस प्रकट नहीं होगा।
3. टेक्स्टबॉक्स के मुख्य इवेण्ट (Main Events of Text Box)
3. टेक्स्टबॉक्स के मुख्य इवेण्ट (Main Events of Text Box) इस खण्ड में वी. बी. डॉट नेट के टेक्स्टबॉक्स कंट्रोल के प्रमुख इवेण्ट के बारे में जानते हैं । टेक्स्टबॉक्स के इवेण्ट एवं विवरण :
FontChanged
Font प्रॉपर्टी के मान के बदलने पर घटित होता है।
ForeColorChanged
ForeColor प्रॉपर्टी के मान के बदलने पर घटित होता है।
ReadOnlyChanged
ReadOnly प्रॉपर्टी के मान में बदलाव होने पर घटित होता है।
TextChanged
उपयोगकर्ता द्वारा टेक्स्टबॉक्स के टेक्स्ट को बदलने पर घटित होता है।
TextAlignChanged
TextAlign प्रॉपर्टी के मान में बदलाव होने पर घटित होता है।
सवाल : इंटेलिसेंस को ऑफ करना जवाब: इंटेलिसेंस कोड विण्डो में बाई डिफॉल्ट उपलब्ध होता है। लेकिन इसे ऑफ भी किया का सकता है । इसे ऑफ करने के लिए यह करें। ● Tools को क्लिक करें तथा Options… का चयन करें। ● Text Editor + चिन्ह को क्लिक करें। ● फिर Basic फोल्डर का चयन करें तथा उसके अंदर General को क्लिक करें। ● दायीं ओर प्रकट होने वाले विकल्प में से Statement Completion के अंतर्गत Auto list members तथा Parameter information चेकबॉक्स को क्लिक करें। ऐसा करने पर लिस्टबॉक्स तथा पैरामीटर सूचना उपलब्ध नहीं होगा।
GUI प्रोग्रामिंग विद विण्डोज़ फॉर्मस् | विण्डोज़ फॉर्मस् ग्राफिकल यूजर इंटरफेस | GUI प्रोग्रामिंग विण्डोज़ फॉर्मस् के साथ | GUI प्रोग्रामिंग विजुअल बेसिक | GUI Programming with Windows Forms
GUI प्रोग्रामिंग विद विण्डोज़ फॉर्मस् का परिचय (Introduction) – विण्डोज़ फॉर्मस् ग्राफिकल यूजर इंटरफेस को विकसित करने के लिए विजुअल स्टूडियो में सबसे महत्वपूर्ण उपकरण है। यह ग्राफिकल यूज़र इंटरफेस एप्लिकेशन निर्माण का आधार है। विजुअल स्टूडियो में बने एप्लिकेशन विण्डोज़ फॉर्मस् के अतिरिक्त कई कंट्रोलों का एक संकलन है। विण्डोज़ फॉर्म इन कंट्रोलों का वाहक होता है । विण्डोज़ फॉर्म किस पुस्तक के एक पृष्ठ के समान होता है। इस अध्याय में हम ग्राफिकल यूज़र इंटरफेस को विकसित करने के लिए उपयोग होने वाले कंट्रोलों के बारे में चर्चा करेंगे।
प्रॉपर्टीज़, मेथडस तथा इवेण्ट्स (Properties, Methods And Events)
विजुअल बेसिक के सभी ऑब्जेक्ट यथा फॉर्म तथा कंट्रोल के अपने प्रॉपर्टी, मेथड तथा इवेण्ट होते हैं । प्रॉपर्टी किसी ऑब्जेक्ट के एट्रिब्यूट होते हैं तथा मेथड उनके कार्य और इवेण्ट उनके रेस्पॉन्स (response) होते हैं । उदाहरण के लिए कार एक ऑब्जेक्ट है तथा इसके अपने प्रॉपर्टी, मेथड तथा इवेण्ट हैं। रंग (color), गति (speed), मूल्य (price) किसी कार के प्रॉपर्टी हो सकते हैं। सभी कार के ये प्रॉपर्टी होंगे परन्तु इनके मान अलग अलग हो सकते हैं।
इसी प्रकार कार के मेथड जो यह करता है हो सकते हैं। स्टार्ट (Start), स्टॉप (Stop), एक्सिलिरेट (Accelerate) इसके कार्य या मेथड हो सकते हैं। सभी प्रकार के कार के लिए ये मेथड समान होंगे अपितु इनके मान अलग अलग होंगे। तथा कार के कुछ बाहरी इवेण्ट के विपरित प्रतिक्रिया होंगे । उदाहरण के लिए कार का इंधन समाप्त होने पर क्या होगा। कार के प्रॉपर्टी का मान अगर लिखा जाय तो इस प्रकार होगा –
Car.Color = Aqua Car.Speed = 80 Car.Price = 320000 इसी प्रकार कार के मेथड इस प्रकार होगें – Car.Start Car.Stop Car.Accelerate (50) इसी प्रकार कार के इवेण्ट NoFuel इस प्रकार लिखे जाएंगे – Private Sub Car_NoFuel (…) Handles Car. NoFuel Car. Stopped = True End Sub यहाँ कार के इंधन समाप्त होने पर कार के आचरण का वर्णन होता है । जिस प्रकार आपने कार के उदाहरण में प्रॉपर्टी, मेथड तथा इवेण्ट के कार्य को समझा ठीक इसी प्रकार विजुअल बेसिक डॉट नेट के ऑब्जेक्ट होते हैं तथा उनके प्रॉपर्टी, मेथड तथा इवेण्ट होते हैं जिनहें प्रोग्राम में प्रयोग करना होता है ।
GUI प्रोग्रामिंग विद विण्डोज़ फॉर्मस् | विजुअल बेसिक डॉट नेट के ऑब्जेक्ट | GUI प्रोग्रामिंग – Properties, Methods And Events
वी. बी. डॉट नेट के कंट्रोल में उपलब्ध कुछ समान प्रॉपर्टी (Some Common Properteis Available in VB.Net Controls)
वी. बी. डॉट नेट में ढ़ेर सारे कंट्रोल हैं। सबके अपने-अपने अलग-अलग प्रॉपर्टी, मेथड तथा इवेण्ट हैं। यद्यपि सभी के कुछ समान प्रॉपर्टी, मेथड तथा इवेण्ट होते हैं। इस खण्ड में उनहीं समान प्रॉपर्टी, मेथड तथा इवेण्ट की चर्चा करेंगे।
1- AllowDrop प्रॉपर्टी – AllowDrop प्रॉपर्टी यह संकेत देता है कि यह कंट्रोल यूजर के द्वारा ड्रैग कर डाटा इस पर ड्रॉप किये जाने पर स्वीकार करता है अथवा नहीं। यह यदि True सेट है तो समझिए कि इस कंट्रोल में ड्रैग-ड्रॉप सुविधा उपलब्ध है। यदि False है तो समझिए कि इस पर ड्रैग ड्रॉप सुविधा उपलब्ध नहीं है। यह प्रॉपर्टी कुछ कंट्रोल यथा RichTextBox, WebBrowser इत्यादि में उपलब्ध नहीं है।
2- Anchor प्रॉपर्टी – Anchor प्रॉपर्टी कनटेनर के किस किनारे के साथ कंट्रोल किस प्रकार जुड़ा रहेगा तथा उस पेरेण्ट कनटेनर के साथ इसके आकार में किस प्रकार बदलाव पड़ेगा यह सेट करता है। Anchor प्रॉपर्टी इंटरफेस डिज़ायन के लिए एक बेहद महत्त्वपूर्ण प्रॉपर्टी है। यह तब और उपयोगी हो जाता है, जब एक फॉर्म पर एक से अधिक कंट्रोल को एक से अधिक कॉलम तथा पंक्ति में सजाना है। उदाहरण के लिए आपने अपने फॉर्म में एक टेक्स्टबॉक्स जोड़ा है और उसकी Anchor प्रॉपर्टी में Top सेट किया है।
अब आप जब टेक्सटबॉक्स की Anchor प्रॉपर्टी को Top सेट करते हैं और इसे रन करते हैं तो टेक्स्ट बॉक्स और फॉर्म के उपरी हिस्सा की जो दूरी है, वह उसी अनुपात में बढ़ता है, परन्तु फॉर्म के शीर्ष तथा टेक्स्ट बॉक्स की दूरी नहीं बदलती।
Anchor प्रॉपर्टी में Left, Top, Right, Bottom, (Top, Left), (Top, Left, Right), (Top, Left, Right, Bottom) इत्यादि जैसे मान होते हैं। इनहें चयन करने के लिए Anchor प्रॉपर्टी के डाउन ऐरो को क्लिक करते हैं तथा मान का चयन करते हैं। जब आप Anchor प्रॉपर्टी को सेट कर लेते हैं तो Dock प्रॉपर्टी को सेट करने की आवश्यकता नगण्य होती है।
3- Back Color प्रॉपर्टी – Back Color प्रॉपर्टी को सेट कर आप टेक्स्ट के बैकग्राउण्ड रंग को बदलते हैं। इस प्रॉपर्टी के डाउन ऐरो को जब आप क्लिक करते हैं तो Custom, Web तथा System टैब के अंदर आपको विभिन्न रंगों का एक छोटा विण्डो मिलता है।
4- Background Image प्रॉपर्टी – BackgroundImage प्रॉपर्टी से आप कंट्रोल के बैकग्राउण्ड आकृति को सेट कर सकते हैं। बैकग्राउण्ड आकृति सेट करने के लिए इसके इलिपसिस बटन (…) को क्लिक करें। तत्पश्चात् Select Resource डायलॉग बॉक्स प्रदर्शित होगा। अपने हार्डडिस्क या इस प्रोजेक्ट फोल्डर के Resources फोल्डर से किसी फाइल को जोड़ने के लिए Project resource file: के अंदर Import को क्लिक करें और आकृति फाइल का चयन करें।
ऐसा करने में यदि यह फाइल आपके प्रोजेक्ट/सॉल्यूशन के Resources फोल्डर में तत्काल उपलब्ध नहीं होगा तो भविष्य में संग्रहित हो जायेगा। यह प्रॉपर्टी सभी कंट्रोल यथा Tex Box, RichTextBox इत्यादि के लिए उपलब्ध नहीं होता।
5- Causes Validation प्रॉपर्टी – Causes Validation वह मान सेट करता है जो यह संकेत करता है कि बटन (कंट्रोल) के क्लिक होने पर वैलिडेशन सम्पन्न हो या नहीं। डिफॉल्ट पेज वैलिडेशन बटन के क्लिक किये जाने पर होता है। इसमें दो मान True और False होते हैं। पेज वैलिडेशन को रोकने के लिए इसका मान False सेट किया जाता है।
6- Cursor प्रॉपर्टी – कंट्रोल पर माउस ले जाने पर किस प्रकार माउस आकृति प्रकट होगा। इसे सेट करने के लिए Cursor प्रॉपर्टी की सहायता लेते हैं। जब आप Cursor के डाउन ऐरो को क्लिक करेंगे तो अनेक कर्सर दिखेंगे। इच्छानुसार उनमें से एक का चयन कर सकते हैं।
7- Dock प्रॉपर्टी – Dock प्रॉपर्टी और Anchor प्रॉपर्टी एक दूसरे के साथ मिलकर कार्य करते हैं। उदाहरण के लिए जब आप Anchor को None सेट करते हैं, तब Dock प्रॉपर्टी भी None ही सेट होगा। Dock प्रॉपर्टी कंट्रोल का कौन सा बॉर्डर कनटेनर (उदाहरणार्थ फॉर्म, ग्रुपबॉक्स, पैनल) से सटा होगा, यह परिभाषित करता है।
उदाहरण के लिए आप नोटपैड एप्लिकेशन बना रहे हैं, जिसमें आपने टेक्स्टबॉक्स या रिचटेक्स्टबॉक्स जोड़ा है। स्पष्ट है कि नोटपैड एप्लिकेशन में टेक्स्ट बॉक्स या रिच टेक्स्ट बॉक्स पूरे फॉर्म पर फैला हुआ होना चाहिए। इसके लिए आप टेक्स्ट बॉक्स या रिच टेक्स्ट बॉक्स के चारो किनारों को फॉर्म के साथ सटाना पड़ेगा। इसके लिए में Fill सेट करते हैं।
8- Enabled प्रॉपर्टी – Enabled प्रॉपर्टी कंट्रोल के सक्रियता एवं निष्क्रियता को सेट करता है। इसका बाई डिफॉल्ट सेटिंग True होता है। यदि ऐसा है तो इसके साथ कार्य किया जा सकता है। यदि यह False है तो यह निष्क्रिय है और इसके साथ कार्य नहीं किया जा सकता है।
9- Font प्रॉपर्टी – Font प्रॉपर्टी कंट्रोल के टेक्स्ट के फॉण्ट को सेट करता है। आप Font के दायीं ओर इलिपसिस बटन (…) को क्लिक कर Font डायलॉग बॉक्स से फॉण्ट का चयन कर सकते हैं या फिर Font के जोड़ चिन्ह को क्लिक कर इसके सभी विकल्पों यथा फॉण्ट का नाम, आकार इत्यादि का चयन कर सकते हैं।
10- ForeColor प्रॉपर्टी – ForeColor प्रॉपर्टी कंट्रोल के फोरग्राउण्ड रंग को सेट करता है। ForeColor के डाउन ऐरो को क्लिक करने पर Back Color की तरह ही रंगों का एक छोटा विण्डो प्रकट करता है।
11- Location प्रॉपर्टी – Location प्रॉपर्टी कंट्रोल कनटेनर (यथा फॉर्म, पैनल, ग्रपुबॉक्स इत्यादि) पर ऑब्जेक्ट कहाँ स्थित है, यह सेट करता है। Location प्रॉपर्टी का X मान कॉलम का स्थान तथा Y मान पंक्ति का स्थान निर्धारित करता है।
12- Name प्रॉपर्टी – Name प्रॉपर्टी कंट्रोल के नाम को सेट करता है। हर कंट्रोल का एक Name प्रॉपर्टी होता है। इसका उपयोग कोड में आपके कंट्रोल को व्यक्त करने के लिए होता है। बाई डिफॉल्ट कंट्रोल के नाम उनके नाम के बाद 1, 2, 3 इत्यादि जोड़ कर दिये जाते हैं। उदाहरण के लिए टेक्स्ट बॉक्स कंट्रोल का बाई डिफॉल्ट नाम TextBox1, TextBox2, TextBox3 इत्यादि होता है। किन्तु आप प्रॉपर्टीज विण्डो से Name प्रॉपर्टी का उपयोग कर किसी भी कंट्रोल का नाम इच्छानुसार दे सकते हैं।
Name प्रॉपर्टी सूची के वर्णमाला क्रम में सामान्यतः तीसरे स्थान पर होता है। कंट्रोल का नाम अक्षर के साथ शुरू होना चाहिए तथा यह अधिक बड़ा न हो तो बेहतर है। इसमें संख्या तथा अंडरस्कोर मान्य है। परन्तु विराम चिह्न (punctuation) तथा रिक्त स्थान स्वीकार्य नहीं होता है। साथ ही अच्छी प्रोग्रामिंग प्रचलन के अनुसार किसी कंट्रोल के शुरूआत तीन अक्षरों के पूर्वसर्ग (prefix) जो इस कंट्रोल का संक्षिप्त रूप होता है से अच्छा माना जाता है।
उदाहरण के लिए टेक्स्ट बॉक्स, बटन, लेबल तथा लिस्ट बॉक्स के नाम में txt, btn, IbI तथा Ist क्रमशः कोडिंग के लिए सुविधाजनक होता है।
13- Size प्रॉपर्टी – Size प्रॉपर्टी कंट्रोल के आकार को सेट करता है। यदि किसी ऑब्जेक्ट का AutoSize प्रॉपर्टी True सेट है तो इस प्रॉपर्टी की प्रासंगिकता समाप्त हो जाती है ।
14- TabIndex प्रॉपर्टी – TabIndex प्रॉपर्टी कनटेनर में कंट्रोल के टैब क्रमांक को सेट करता है। टैब पोजीशन वह है जो आप टैब की सहायता से एक स्थान (कंट्रोल) से दूसरे स्थान (कंट्रोल) को फोकस करने के लिए करते हैं। उदाहरण के लिए आपने एक बटन, एक लेबल, एक टेक्स्टबॉक्स इसी क्रम में बनाया है तो इसका टैब पोजीशन 0, 1 और 2 होगा। अर्थात् टैब की सहायता से सबसे पहले बटन फिर लेबल और अंत में टेक्स्टबॉक्स का चयन/फोकस होगा।
15- Text प्रॉपर्टी – Text प्रॉपर्टी कंट्रोल के कैप्शन (Caption) को सेट करता है। उदाहरणार्थ लेबल पर छपे टेक्स्ट Label1 को बदलने के लिए इसका प्रयोग होता है। इसमें आप एक्सेस की सेट कर सकते हैं जिसके साथ ALT की को दबाने पर वह फोकस हो जायगा। इसके लिए टेक्स्ट प्रॉपर्टी के मान के उस अक्षर के पहले & टाइप करें । यह फीचर आपको की-बोर्ड के साथ काम करने का विक्लप देता है ।
16- UseMnemonic प्रॉपर्टी – आपने एक्सेस की का प्रयोग किया होगा । एक्सेस की का प्रयोग किसी ऑब्जेक्ट को की-बोर्ड से एक्सेस करने में होता है । वी बी डॉट नेट में भी आप विभिन्न कंट्रोल के लिए एक्सेस की डिफाइन कर सकते हैं लेकिन इसके लिए आपको UseMnemonic प्रॉपर्टी को True सेट करना होगा । UseMnemonic प्रॉपर्टी विशेष अक्षरों को निमोनिक की तरह समझा जाय अथवा नहीं इसे सेट करता है ।
आओ सीखें-1 एक विण्डोज़ एप्लिकेशन बनाएं जिसपर दो बटन तथा एक लेबल फॉर्म पर जोड़ें । तथा दोनों बटन में एक्सेस की सेट करें। इसे रन कराने के लिए ALT की के साथ एक्सेस की का प्रयोग करें। इसका इंटरफेस तथा प्रॉपर्टी इस प्रकार होगा –
ऑब्जेक्ट
प्रॉपर्टी
मान
फॉर्म
Name
Form1
MaximizeBox
False
Text
Lab Exercise 7.1
लेबल
Name
Labell
Text
बाइ डिफॉल्ट रहने दें ।
बटन
Name
btnGreet
Text
&Greet
बटन
Name
btnFarewell
Text
& Farewell
समाधान :
File मेन्यू को क्लिक करें तथा New Project का चयन करें ।
New Project डायलॉग बॉक्स खुलने के पश्चात Templates पेन में Windows Application को क्लिक करें।
Name टेक्स्टबॉक्स में Lab Exercise 7.1 टाइप करें तथा OK को क्लिक करें । उसके बाद एक नया विण्डोज फॉर्मस प्रोजेक्ट खुलेगा ।
फॉर्म पर प्रश्न में दिए गए विवरण के अनुसार टूलबॉक्स से कंट्रोल को जोड़ें। तथा प्रश्नानुसार उनके प्रॉपर्टी को सेट करें तथा चित्रानुसार उनहें सजाएँ ।
Greet बटन को दो बार क्लिक करें और btnGreet_Click इवेण्ट हैण्डलर के लिए निम्नलिखित कोड लिखें-
Label1. Text = “Welcome”
उसके बाद Farewell बटन को दो बार क्लिक करें और btnFarewell_Click इवेण्ट हैण्डलर के लिए निम्नलिखित कोड लिखें- Labell. Text = “Good Bye”
F5 दबाएँ। तथा ALT+ G और ALT+ F दबाकर लेबल के टेक्स्ट को दर्शाएं । यहाँ आपने माउस का प्रयोग नहीं किया है।
वी. बी. डॉट नेट के कंट्रोल के कुछ समान मेथड (Some Common Methods Of Control)
पिछले खण्ड में आपने वी. बी. डॉट नेट कंट्रोल के समान प्रॉपर्टी के बारे में जाना । ये ऐसे प्रॉपर्टी हैं जो सामान्यतः सभी कंट्रोल में पाये जाते हैं । इस खण्ड में वी. बी. डॉट नेट कंट्रोल के समान मेथड के बारे में जानेंगे ।
BringToFront()- कंट्रोल के ढेर (एक पर एक सजा हुआ) से किसी विशेष कंट्रोल को ऊपर करता है। उदाहरण के लिए आपने Button1, Button2, Button3 और Button4 एक के ऊपर एक सजाया हुआ है। Button3 को ऊपर लाने के लिए Button3.BringToFront( ) स्टेटमेण्ट कार्य करेगा।
Dispose() – कंट्रोल के द्वारा उपयोग किये गये संसाधनों (resources) को रिलीज करता है। उदाहरण के लिए PictureBox1.Image.Dispose पिक्चरबॉक्स कंट्रोल के द्वारा लिए गए स्थान को मेमोरी से मुक्त करता है ।
Contains () – बूलियन मान (True या False ) लौटाता है जो यह सूचित करता है कि कोइ विजुअल बेसिक Collection ऑब्जेक्ट एक खास की के साथ कोइ अवयव (element) रखता है अथवा नहीं ।
DoDragDrop() – ड्रैग ड्राप क्रिया को शुरू करता है ।
FindForm () – उस फॉर्म को प्राप्त करता है जिस पर यह कंट्रोल है।
Focus () – कंट्रोल पर इनपुट फोकस सेट करता है।
GetChildAt Point() – उस चाइल्ड कंट्रोल को पुनः प्राप्त करता है जो कि एक निर्धारित लोकेशन पर है, यह स्पष्ट करते हुए कि एक खास प्रकार के चाइल्ड कंट्रोल की अपेक्षा की जाय अथवा नहीं।
Hide () – कंट्रोल को छिपाता है।
Refresh () – कंट्रोल से इसके क्लाइण्ट एरिया को रद्द करवाता है तथा सब को फिर से शुरू करने का आग्रह करता है।
Select() – कंट्रोल को एक्टिवेट करता है।
Show () – कंट्रोल को दर्शाता हैं।
वी. बी. डॉट नेट के कंट्रोल के कुछ समान इवेण्ट (Some Common Events of Control)
जिस प्रकार आपने पिछले खण्ड में वी. बी. डॉट नेट कंट्रोल के समान प्रॉपर्टी तथा मेथड के बारे में जाना । इसी प्रकार वी बी डॉट नेट के कुछ ऐसे इवेण्ट हैं जो सामान्यतः सभी कंट्रोल में पाये जाते हैं । इस खण्ड में वी. बी. डॉट नेट कंट्रोल के समान इवेण्ट के बारे में जानेंगे।
AutoSizeChanged
यह इवेण्ट डॉट नेट फ्रेमवर्क के 2.0 संस्करण में ही परिचित हुआ है। यह तब घटित होता है, जब Autosize प्रॉपर्टी के मान में बदलाव होता है।
Click
कंट्रोल के क्लिक होने पर घटित होता है।
ControlAdded
यह तब घटित होता है जब आपके कंट्रोल कलेक्शन (यथा फॉर्म) में कोई नया कंट्रोल जुड़ता है।
ControlRemoved
यह ControlAdded का विपरीत है। यह तब घटित होता है, जब कोई कंट्रोल फॉर्म से हटता है।
Double Click
किसी कंट्रोल (यथा बटन) के दो बार क्लिक होने पर घटित होता है।
Enter
कंट्रोल पर एण्टर की दबाने पर घटित होता है।
LocationChanged
किसी कंट्रोल का Location प्रॉपर्टी के बदलने पर घटित होता है।
Move
किसी कंट्रोल मूव होने पर घटित होता है।
सवाल : इवेण्ट क्या है ? जवाब- इवेण्ट को समझने का एक उदाहरण इस तरह है। आप मोबाइल का उपयोग अपने मित्र से बातचीत करने के लिए करते हैं। अब आपने एक प्रोग्राम बनाया तथा अपने मित्र को यह कह दिया कि उसे कॉल नहीं करेगा बल्कि रिंग के माध्यम से संकेत देगा । यदि एक रिंग हो तो समझो प्रोग्राम रद्द और यदि दो-बार रिंग होता है तो समझो प्रोग्राम पारित।
अब आपका मित्र इसी संकेत के अनुसार अपना कार्य करेगा । ऐसा कुछ वी.बी. डॉट नेट में भी होता है। एक रिंग को Click तथा दो रिंग को DoubleClick इवेण्ट की तरह समझ सकते हैं। क्योंकि ये एक विशेष परिस्थिति में हो रहे हैं। इवेण्ट पर आधारित स्टेटमेण्ट को इवेण्ट हैण्डलर या सब प्रॉसीजर या सब-रूटीन कहते हैं।
विण्डोज फॉर्मस विजुअल स्टूडियो | विण्डोज फॉर्मस के बॉर्डर को बदलना | विण्डोज फॉर्मस के बॉर्डर स्टाइल को प्रोग्राम के माध्यम से बदलना | Changing the Borders of Windows Forms
विण्डोज फॉर्मस के बॉर्डर स्टाइल – विजुअल स्टूडियो – विण्डोज फॉर्मस में कई तरह के कण्ट्रोल होते हैं जिन्हें आप फॉर्म में जोड़ सकते हैं। ये कण्ट्रोल टेक्स्टबॉक्स, बटन, ड्रॉपडाउन बॉक्स, रेडियो बटन तथा वेबपेज को प्रदर्शित कर सकते हैं। यदि कोई उपलब्ध कण्ट्रोल आपके एप्लीकेशन की आवश्यकता को पूरा नहीं कर पाता है तो विण्डोज फॉर्मस आपके द्वारा बनाया गया कस्टम कण्ट्रोल को सपोर्ट करता है। आप अपने खुद के कण्ट्रोल भी User Control क्लास की सहायता से बना सकते हैं।
विण्डोज फॉर्मस के बॉर्डर को बदलना (Changing the Borders of Windows Forms)
विण्डोज फॉर्म के रूप तथा आचरण को निर्धारित करते समय आपके पास चयन करने के लिए कई विकल्प होते हैं। उदाहरण के लिये आप फॉर्म के आकार के बदलने के आचरण को नियन्त्रित करने हेतु FormBorderStyle का उपयोग कर सकते हैं। इसमें Fixed3D, FixedDialog, FixedSingle,FixedToolWindow, None, SizableSizableToolWindow जैसे मान सेट कर सकते हैं। Fixed3D विकल्प फॉर्म को एक स्थिर त्रिविमीय (fixed three dimen-sional) बॉर्डर देता है। FixedDialog फॉर्म को एक मोटा स्थिर डायलॉग स्टाइल का बॉर्डर देता है।
FixedSingle फॉर्म में स्थिर एक लाइन वाला बॉर्डर जोड़ता है। FixedToolWindow एक टूल विण्डो बॉर्डर देता है जिसके आकार नहीं बदले जा सकते। None मान सेट करने पर फॉर्म बॉर्डर रहित होगा । Sizable मान सेट करने पर आपके फॉर्म को एक टूल विण्डो बॉर्डर प्रदान करेगा जो आकार बदल सकता है। Form BorderStyle के विभिन्न मानों को सेट करके आप फॉर्म के कैप्शन बार को भी निर्धारित कर सकते हैं तथा साथ ही इस बार पर कौन-कौन से बटन प्रकट होंगे ये निश्चित कर सकते हैं।
विण्डोज फॉर्मस के बॉर्डर स्टाइल को प्रोग्राम के माध्यम से बदलना (Changing the Border Style of Windows Forms Programmatically)
ऊपर आपने फॉर्म के बॉर्डर स्टाइल को डिजाइन समय में बदलना सीखा । इसे आप प्रोग्राम के माध्यम से भी बदल सकते हैं। ऐसी आवश्यकता आप को तब पड़ सकती है जब आप प्रोग्राम के माध्यम से ही नये फॉर्म का निर्माण कर रहे हैं। विण्डोज फॉर्मस के बॉर्डर स्टाइल को प्रोग्राम के माध्यम से बदलने के लिये कोडिंग का यह प्रारूप है – Me.FormBorderStyle = Windows. Forms.FormBorderStyle.<Value> उदाहरण के लिए, Me. Form BorderStyle = Windows. Forms. Form BorderStyle. None उपरोक्त स्टेटमेण्ट में Me कीवर्ड सक्रिय फॉर्म को इंगित करता है ।
आओ सीखें – एक विण्डोज एप्लीकेश बनायें। इसमें फॉर्म पर एक बटन जोड़ें। बटन को क्लिक करने पर एक अन्य फॉर्म प्रदर्शित हो। उस फॉर्म का बॉर्डर त्रिविमीय हो तथा फॉर्म के आकार में बदलाव का कोई विकल्प ना हो। इसके प्रॉपर्टीज को इस प्रकार सेट करें-
ऑब्जेक्ट
प्रॉपर्टी
मान
फॉर्म
Name
Form1
MaximizeBox
False
Text
Lab Exercise
बटन
Name
btnShow
Text
Show the Other Form
समाधान-
File मेन्यू को क्लिक करें तथा New Project का चयन करें ।
New Project डायलॉग बॉक्स खुलने के पश्चात Templates पेन में Windows Application को क्लिक करें।
Name टेक्स्टबॉक्स में Lab Exercise टाइप करें तथा OK को क्लिक करें । उसके बाद एक नया विण्डोज फॉर्मस प्रोजेक्ट खुलेगा ।
फॉर्म पर प्रश्न में दिए गए विवरण के अनुसार टूलबॉक्स से कंट्रोल को जोडें । तथा प्रश्नानुसार उनके प्रॉपर्टी को सेट करें तथा उनहें सजाएँ ।
Show The Other Form बटन को दो बार क्लिक करें और btnShow_Click इवेण्ट हैण्डलर के लिए निम्नलिखित कोड लिखें-
Private Sub btnShow_Click (ByVal sender As System. Object, ByVal e As System.EventArgs) Handles btnShow.Click
End Sub F5 दबायें । परिणाम
विण्डोज फॉर्मस विजुअल स्टूडियो | एस डी आई और एम डी आई | सिंगल डॉक्यूमेण्ट इंटरफेस | मल्टिपल डॉक्यूमेण्ट इंटरफेस | Windows form in Visual Studio
एस डी आई और एम डी आई (SDI and MDI)
SDI का पूर्ण रूप सिंगल डॉक्यूमेण्ट इंटरफेस (Single Document Interface) होता है । इस इंटरफेस में एक बार में एक डी विण्डो खोला जा सकता है । इसमें यदि आप कोइ नया विण्डो खोलना चाहते हैं तो इसे फिर से एप्लिकेशन स्तर पर खोलना पड़ता है । एक कंटेनर में एक से अधिक एस डी आई डॉक्यूमेण्ट नही रखे जा सकते हैं। नोटपैड इसका एक बेहतर उदाहरण है।
MDI का पूर्ण रूप मल्टिपल डॉक्यूमेण्ट इंटरफेस (Multiple Document Interface) होता है । इस इंटरफेस में एक से अधिक विण्डो खोले जा सकते हैं । इसमें यदि आप कोई नया विण्डो खोलना चाहते हैं तो फिर से आपको एप्लिकेशन खोलने की आवश्यकता नहीं पड़ती है । मल्टिपल डॉक्यूमेण्ट इंटरफेस (Multiple Document Interface) में एक कंटेनर के अंदर एक से अधिक डॉक्यूमेण्ट रखे जा सकते हैं । माइक्रोसॉफट वर्ड इसका एक बेहतर उदाहरण है।
विण्डोज़ फॉर्मस का सिंगल डॉक्यूमेण्ट इंटरफेस फीचर आपको एक समय में एक ही डॉक्यूमेण्ट के साथ काम करने की अनुमति देता है। नया सिंगल डॉक्यूमेण्ट इंटरफेस खोलने के लिए नये एप्लिकेशन को खोलना आवश्यक होता है। एक ही कंटेनर में एक से अधिक सिंगल डॉक्यूमेण्ट इंटरफेस डॉक्यूमेण्ट को नहीं रखा जा सकता है।
आओ सीखें – एक विण्डोज़ एप्लिकेशन बनाएं जो दो फॉर्म Form1 तथा Form2 पर बना हो । Form1 पर एक बटन जोड़ें और Form2 पर एक लेबल जोड़ें । Form1 पर जोड़े गए बटन को क्लिक करने पर Form2 प्रकट हो । इसके प्रॉपर्टी को इस प्रकार सेट करें ।
ऑब्जेक्ट
प्रॉपर्टी
मान
फॉर्म 1
Name
Form1
Text
Lab Exercise
बटन
Name
btnForm1
Text
Show Second SDI Form
फॉर्म 2
Name
Form2
Text
By Default (Form2)
लेबल
Name
Labell
Text
This is second SDI Form.
समाधान-
File मेन्यू को क्लिक करें तथा New Project का चयन करें ।
New Project डायलॉग बॉक्स खुलने के पश्चात Templates पेन में Windows Application को क्लिक करें।
Name टेक्स्टबॉक्स में Lab Exercise 6.2 टाइप करें तथा OK को क्लिक करें। उसके बाद एक नया विण्डोज फॉर्मस प्रोजेक्ट खुलेगा ।
Form1 पर प्रश्न में दिए गए विवरण के अनुसार टूलबॉक्स से बटन कंट्रोल को जोडें । तथा प्रश्नानुसार उनके प्रॉपर्टी को सेट करें ।
उसके बाद Form2 को जोड़ने के लिए मेन्यू से Project तथा Add Windows Form… का चयन करें। Name टेक्स्टबॉक्स में Form2.vb रहने दें । प्रश्न में दिए गए विवरण के अनुसार Form2 पर टूलबॉक्स से एक लेबल कंट्रोल को जोडें ।
उसके बाद Form1 का चयन करें और Show Second SDI Form बटन को दो बार क्लिक करें। तत्पश्चात btnForm1 इवेण्ट हैण्डलर में यह कोड लिखें –
Private sub btnForm1_C11ck (Byval sender As System.Object, Byval e
As System. EventArge) HandlesbtnForm1. Click
Dim Form As New Form 2 ( )
Form. Show ()
End Sub
उपरोक्त कोड में Show मेथड का उपयोग हुआ है जो Form2 को दर्शाता है । F5 दबायें । परिणाम प्रकट होगा ।
विण्डोज़ फॉर्मस का मल्टिपल डॉक्यूमेण्ट इंटरफेस फीचर आपको एक ही विण्डो में एक से अधिक डॉक्यूमेण्ट के साथ काम करने की अनुमति देता है जैसाकि आपने माइक्रोसॉफट वर्ड, माइक्रोसॉफट एक्सेल तथा माइक्रोसॉफट पावरप्वाइण्ट में काम करते समय देखा होगा। आपको एक बार एप्लिकेशन खोल लेने के बाद बार बार अलग अलग विण्डो के लिए एप्लिकेशन खोलने की आवश्यकता नही पडती होगी । आपने यह भी नोटिस किया होगा कि एप्लिकेशन विण्डो की संरचना और डॉक्यूमेण्ट विण्डो की संरचना में अंतर है ।
तथा जब आप एप्लिकेशन विण्डो को बंद करते हैं तो सभी विण्डो स्वतः ही बंद हो जाता है । विजुअल स्टूडियो स्वयं मल्टिपल डॉक्यूमेण्ट इंटरफेस का एक बेहतर उदाहरण है । मल्टिपल डॉक्यूमेण्ट इंटरफेस में मुख्य फॉर्म मल्टिपल डॉक्यूमेण्ट इंटरफेस का पेरेण्ट फॉर्म (parent form) कहलाता है तथा अन्य फॉर्म चाइल्ड फॉर्म (child form) कहलाता है।
आओ सीखें – एक विण्डोज एप्लीकेशन बनायें जिसमें दो फॉर्म हों। पहले फॉर्म पर एक मेन्यू बार जोड़ें जिसमें पहले मेन्यू का नाम File हो। File मेन्यू में दो उप मेन्यू New तथा Close रखें। जब New मेन्यू को क्लिक किया जाये तब दूसरा फॉर्म प्रदर्शित हो। दूसरा फॉर्म यहाँ एम डी आई चाइल्ड की तरह कार्य करेगा। इस फॉर्म में एक टेक्स्ट बॉक्स होगा जिसमें मल्टिलाइन (multiline), वर्ड रैप (word wrap) तथा उग्र स्क्रॉलबार की सुविधा उपलब्ध होगा।
टेक्स्टबॉक्स का आकार फॉर्म के बराबर का हो। इसके अतिरिक्त टेक्स्ट के फॉण्ट का आकार 10 सेट हो तथा फॉर्म का बॉर्डर None सेट हो ताकि एम डी आई चाइल्ड फॉर्म नोटपैट की तरह दिखे। जब आप File से New क्लिक करें तो एम डी आई चाइल्ड प्रकट हो तथा वह एम डी आई पेरेण्ट विण्डो में दिखे। File से Close को क्लिक करने पर सक्रिय एम डी आई चाइल्ड विण्डोज फॉर्म बन्द हो जाए। इस विण्डोज़ एप्लिकेशन में उपयोग किए जा रहे ऑब्जेक्ट, उनके प्रॉपर्टी तथा उनके मान इस प्रकार होंगे।
ऑब्जेक्ट
प्रॉपर्टी
मान
पेरेण्ट फॉर्म
Name
Form1
Text
MDI Parent
IsMdiContainer
True
मेन्यूबार
Name
MenuStrip1
मुख्य मेन्यू
Name
mnuFile
Text
File
उप मेन्यू
Name
mnuNew
Text
New
उप मेन्यू
Name
mnuClose
Text
Close
चाइल्ड फॉर्म
Name
frmMDIChild
Text
MDI Child
FormBorderStyle
FixedSingle
टेक्स्टबॉक्स
Name
txtTextBox
Font
Times New Roman, 10
Multiline
True
Dock
Fill
समाधान-
File मेन्यू को क्लिक करें तथा New Project का चयन करें।
New Project डायलॉग बॉक्स खुलने के पश्चात Templates पेन में Windows Application को क्लिक करें।
Name टेक्स्टबॉक्स में Lab Exercise टाइप करें तथा OK को क्लिक करें । उसके बाद एक नया विण्डोज फॉर्मस प्रोजेक्ट खुलेगा।
इस फॉर्म के कैप्शन को सेट करें। इसके कैप्शन को सेट करने के लिये इसके Text प्रॉपर्टी में जाएँ और MDI Parent फॉर्म लिखें।
तथा IsMdiContainer प्रॉपर्टी को True सेट करें।
उसके बाद इसमें एक मेन्यूबार जोड़ने के लिए टूलबॉक्स से MenuStrip कम्पोनेण्ट को दो बार क्लिक करें। तथा मुख्य मेन्यू में File और उप-मेन्यू में पहले New और फिर Close टाइप करें। मेन्यू बनाने की जानकारी विस्तृत रूप से अध्याय 8 में दी हुई है। उसके बाद File मेन्यू के Name प्रॉपर्टी में जाकर इसके नाम को mnuFile सेट करें तथा New और Close का नाम mnuNew और mnuClose सेट करें।
अब एक और फॉर्म जोड़ें जो एप्लीकेशन में एम डी आई चाइल्ड फॉर्म की तरह कार्य करे। एक और फॉर्म जोड़ने के लिये, Project को क्लिक करें और Add Windows Form… का चयन करें। Add New Item डायलॉग बॉक्स प्रकट होगा। Windows Form देखेंगे कि पहले से चयनित है तथा Name टेक्स्टबॉक्स में बाई डिफॉल्ट Form2.vb रहने दें । Add क्लिक करें।
दूसरे फॉर्म के प्रॉपर्टी के मानों को प्रश्नानुसार सेट करें । जो इस प्रकार होनी चाहिए । एक बार जॉच लें ।
Name frmMDIChild
Text MDI Child
FormBorderStyle FixedSingle
frmMDIChild नामक फॉर्म में अर्थात् दूसरा फॉर्म जो अपने जोड़ा है उसमें एक टेक्स्टबॉक्स जोड़ें। तथा प्रश्नानुसार टेक्स्टबॉक्स के प्रॉपर्टी को बदलें । जो इस प्रकार आपने सेट किया है कि नहीं एक बार जॉच लें ।
Name txtTextBox
Font Times New Roman, 10
Multiline True
Dock Fill
इसके बाद frmMDIParent फॉर्म अर्थात् पहला फॉर्म का चयन करें । तथा उसके New मेन्यू आइटम को दो बार क्लिक करें और इसके Click इवेण्ट हैण्डलर के लिए यह कोड लिखें Dim form as new frmMDIChild form.MdiParent = Me form.show()
उपरोक्त कोड के सबसे पहले लाइन में frmMDIChild के एक नए ऑब्जेक्ट का निर्माण तब तब करेगा जब जब यूजर New मेन्यू को क्लिक करेगा। पहले लाइन का कोड यह बताने के लिए है कि यह फॉर्म एम डी ओइ कंटेनर के अंदर खुलना चाहिए । इसमे Me की वर्ड MDIParent फॉर्म को इंगित करता है। Show मेथड का उपयोग frmMDIChild को डिस्पले करने में हो रहा है।
इसके बाद Close मेन्यू आइटम के क्लिक इवेण्ट हैण्डलर में ये कोड लिखें- If Me.ActiveMdiChild Is Nothing Then
Else Me.ActiveMdiChild.Close()
End If
End Sub
उपरोक्त कोड में mnuClose_Click इवेण्ट हैण्डलर आपके द्वारा Close मेन्यू के क्लिकिंग इवेन्ट को नियन्त्रित करता है। MDIParent विण्डोज फॉर्म के ActiveMDIChild प्रॉपर्टी का उपयोग सक्रिय MDIChild फॉर्म को प्राप्त करने में होता है। Me उस फॉर्म को इंगित करता है जो इस इवेण्ट को निर्मित करता है। यदि कोई MDI Child फॉर्म है तो यह फंक्शन इस Close मेथड का उपयोग कर बन्द कर देता है।
F5 दबाकर प्रोग्राम को रन करे। उसके बाद मुख्य फॉर्म के File मेन्यू के अंदर New मेन्यू का चयन करें। जितनी बार आप मेन्यू का चयन करेंगे उतनी बार मुख्य विण्डो के अंदर चाइल्ड विण्डो खुलेगा तथा File Close New का चयन कर चाइल्ड विण्डो को बंद करते जाएँ।
✍️ आज आपने क्या सीखा (What Did You Learn Today)
फॉर्म के प्रॉपर्टी को डिज़ायन समय सेट करने के लिए प्रॉपर्टीज़ विण्डो का उपयोग करते हैं ।
प्रॉपर्टीज़ विण्डो को खोलने के लिए मेन्यू बार पर View को क्लिक करें और Properties Windows का चयन करें । या की बोर्ड से F4 दबाएं ।
फॉर्म के आकार के बदलने के आचरण को नियन्त्रित करने हेतु Form BorderStyle का उपयोग करते हैं। इसमें Fixed3D, FixedDialog, FixedSingle, FixedToolWindow, None, Sizable तथा Sizable ToolWindow जैसे मान सेट होते हैं।
Me कीवर्ड सक्रिय फॉर्म को इंगित करता है ।
SDI का पूर्ण रूप सिंगल डॉक्यूमेण्ट इंटरफेस (Single Document Interface) होता है । इस इंटरफेस में एक बार में एक ही विण्डो खोला जा सकता है । इसमें यदि आप कोइ नया विण्डो खोलना चाहते हैं तो इसे फिर से एप्लिकेशन स्तर पर खोलना पड़ता है । एक कंटेनर में एक से अधिक एस डी आई डॉक्यूमेण्ट नही रखे जा सकते हैं । नोटपैड इसका एक बेहतर उदाहरण है।
MDI का पूर्ण रूप मल्टिपल डॉक्यूमेण्ट इंटरफेस (Multiple Document Interface) होता है । इस इंटरफेस में एक से अधिक विण्डो खोले जा सकते हैं। इसमें यदि आप कोई नया विण्डो खोलना चाहते हैं तो फिर से आपको एप्लिकेशन खोलने की आवश्यकता नहीं पड़ती है । मल्टिपल डॉक्यूमेण्ट इंटरफेस (Multiple Document Interface) में एक कंटेनर के अंदर एक से अधिक डॉक्यूमेण्ट रखे जा सकते हैं । माइक्रोसॉफट वर्ड इसका एक बेहतर उदाहरण है।
विण्डोज फॉर्मस विजुअल स्टूडियो | विण्डोज फॉर्मस् के साथ कार्य करना | विण्डोज फॉर्म बनाना | विण्डोज फॉर्मस वी. बी. डॉट नेट | What is Windows form in Visual Studio?
विण्डोज फॉर्मस विजुअल स्टूडियो परिचय (Introduction) – जब आप विजुअल स्टूडियो में किसी विण्डोज एप्लिकेशन को विकसित कर रहे होते हैं तो विण्डोज फॉर्म इस विकास का एक महत्वपूर्ण हिस्सा होता है। विण्डोज एप्लिकेशन विकास में विण्डोज़ फॉर्म के अतिरिक्त कई कण्ट्रोल का भी उपयोग होता है।
विण्डोज फॉर्म उन कण्ट्रोल का वाहक होता है। विण्डोज फॉर्म को आप पुस्तक के एक पृष्ठ के रूप में समझ सकते हैं। उदाहरण के लिए माइक्रोसॉफ्ट विण्डो का प्रत्येक विण्डो एक फॉर्म है। इस अध्याय में हम आपको फॉर्म को डिजाइन करना, इसे लोड करना इसे प्रकट करना इसे छिपाना और एक फॉर्म को दूसरे फॉर्म से नियंत्रित करना सीखेंगे।
विण्डोज़ फॉर्मस (Windows Forms) – आप विण्डोज फॉर्मस में फॉर्म एक विजुअल पृष्ठ (surface) है जिस पर आप यूजर के लिये सूचना को प्रदर्शित करते हैं। आमतौर पर फॉर्म पर कण्ट्रोल जोड़ कर तथा यूजर एक्शन यथा माउस क्लिक या की प्रेस (key press) विकसित कर विण्डोज एप्लिकेशनों का निर्माण करते हैं।
कण्ट्रोल एक अलग यूजर इन्टरफेंस अवयव है जो डाटा को प्रदर्शित करता डाटा इनपुट स्वीकार करता है। या जब यूजर आपके फॉर्म पर या इसके किसी कण्ट्रोल के साथ कोई कार्य करता है, तब वह एक्शन एक इवेण्ट को जन्म देता है। आपके एप्लिकेशन कोड की सहायता से उन इवेण्ट पर अपनी प्रतिक्रिया करता है तथा उन इवेण्ट को प्रोसेस करता है जब वे घटित होते हैं।
विण्डोज फॉर्मस में कई तरह के कण्ट्रोल होते हैं जिन्हें आप फॉर्म में जोड़ सकते हैं। ये कण्ट्रोल टेक्स्टबॉक्स, बटन, ड्रॉपडाउन बॉक्स, रेडियो बटन तथा वेबपेज को प्रदर्शित कर सकते हैं। यदि कोई उपलब्ध कण्ट्रोल आपके एप्लीकेशन की आवश्यकता को पूरा नहीं कर पाता है तो विण्डोज फॉर्मस आपके द्वारा बनाया गया कस्टम कण्ट्रोल को सपोर्ट करता है। आप अपने खुद के कण्ट्रोल भी User Control क्लास की सहायता से बना सकते हैं।
विण्डोज फॉर्मस में माइक्रोसॉफ्ट ऑफिस जैसे एप्लीकेशन की नकल करने वाले यूजर इन्टरफेस कण्ट्रोल्स की भी बहुतायत है। उदाहरण के लिये आप ToolStrip तथा MenuStrip कण्ट्रोल का उपयोग करके टूलबार तथा मेन्यूबार का निर्माण कर सकते हैं जिसमें टेक्स्ट तथा इमेज होते हैं तथा जो सब-मेन्यू को प्रदर्शित कर सकते हैं। इसके अतिरिक्त ये अन्य कण्ट्रोल जैसे टेक्स्ट बॉक्स तथा कॉम्बो बॉक्स भी रखते हैं।
विजुअल स्टूडियो में टूल्स को टूलबॉक्स से विण्डोज फॉर्म्स डिजायनर पर जोड़ कर आप आसानी से विण्डोज फॉर्मूस एप्लीकेशन का निर्माण कर सकते हैं। इसके लिये आप उन कण्ट्रोल को अपने माउस की सहायता से चयन कर उनहें फॉर्म पर इच्छानुसार जोड़ सकते हैं। अन्त में System.Drawing नेमस्पेस में क्लास का बड़ा भाग होता है जो लाइन, वृत्त तथा अन्य प्रकार की आकृतियों को बनाते हैं जिनका उपयोग आप आप अपने यूजर इन्टरफेस एलीमेण्ट को बनाने में कर सकते हैं ।
विण्डोज फॉर्मस विजुअल स्टूडियो कैसे बनायें | विजुअल बेसिक में विण्डोज फॉर्म बनाने की विधि| प्रॉपर्टी की विण्डोज फॉर्मस के संदर्भ में क्या भूमिका है
फॉर्म के प्रॉपर्टी (Properties Of Form)
इस खण्ड में वी. बी. डॉट नेट के फॉर्म कंट्रोल के प्रॉपर्टी के बारे में जानते हैं। इनमें कुछ प्रॉपर्टी ऐसे हैं जो आप डिजायन समय में प्रॉपर्टीज़ विण्डो के माध्यम से सेट कर सकते हैं । तथा कुछ जो प्रॉपर्टीज् विण्डो में प्रकट नहीं होते हैं उन्हें रन समय में कोड के माध्यम से सेट कर सकते हैं। हालांकि सभी प्रॉपर्टी को प्रोग्राम माध्यम से कोड लिख कर सेट किया जा सकता है। AcceptButton – फॉर्म पर उस बटन को सेट करता है जो यूज़र द्वारा Enter की के दबाए जाने पर क्लिक होता है । ActiveForm – इस एप्लिकेशन के लिए सक्रिय फॉर्म को प्राप्त करता है। ActiveMdiChild – वर्तमान में सक्रिय मल्टिपल डॉक्यूमेण्ट इंटरफेस चाइल्ड विण्डो को प्राप्त करता है। Allow Transparency – फॉर्म के ओपेसिटि (opacity) को बढ़ाया या घटाया जा सकता है अथवा नहीं इसके सूचक मान को सेट करता है । AutoSizeMode – फॉर्म स्वयं अपने आकार में परिवर्तन किस मोड में कर सकता है इसे सेट करता है । CancelButton – फॉर्म पर उस बटन को सेट करता है जो यूज़र द्वारा ESC की के दबाए जाने पर क्लिक होता है। DialogResult – फॉर्म के लिए डायलॉग परिणाम को सेट करता है। FormBorderStyle – फॉर्म के बॉर्डर स्टाइल को सेट करता है। HelpButton – फॉर्म के कैप्शन बॉक्स में सहायता बटन प्रकट होना चाहिए अथवा नहीं इसके मान को सेट करता है। इस प्रॉपर्टी के True सेट होने पर Close बटन के पहले एक प्रश्न चिह्न वाला छोटा बटन प्रकट होता है। आप इस बटन का उपयोग अपने एप्लिकेशन के लिए सहायता प्रदर्शित करने में कर सकते हैं। परन्तु यह तभी प्रकट होगा जब MaximizeBox तथा MinimizeBox प्रॉपर्टी False सेट हों। Icon – फॉर्म पर आइकन को सेट करता है। IsMdiChild – फॉर्म कोई मल्टिपल डॉक्यूमेण्ट इंटरफेस चाइल्ड फॉर्म है अथवा नही यह बताने के लिए मान प्राप्त करता है। Modal – फॉर्म मॉडल की तरह डिस्पले होगा अथवा नहीं इसको बताने वाला मान सेट करता है। जब कोई फॉर्म मॉडल की तरह डिस्पले होता है तब उस फॉर्म पर कोइ इनपुट (की बोर्ड या माउस क्लिक) नही किया जा सकता है। मॉडल फॉर्म एप्लिकेशन में डायलॉग बॉक्स की तरह डिस्पले होते हैं । IsMdiContainer – फॉर्म किसी मल्टिपल डॉक्यूमेण्ट इंटरफेस चाइल्ड फॉर्म का कंटेनर है अथवा नही यह बताने के लिए मान सेट करता है। MainMenuStrip – फॉर्म के लिए प्राथमिक मेन्यू कंटेनर को सेट करता है। MaximizeBox – फॉर्म के कैप्शन बार पर फॉर्म को बड़ा करने वाला बटन प्रकट होना चाहिए अथवा नहीं इसके मान को सेट करता है । इस प्रॉपर्टी के True सेट होने पर फॉर्म के कैप्शन बार पर फॉर्म को बड़ा करने वाला बटन प्रकट होगा तथा False सेट करने पर यह बटन प्रकट नहीं होगा। MinimizeBox – फॉर्म के कैप्शन बार पर फॉर्म को मिनिमाइज़ करने वाला बटन प्रकट होना चाहिए अथवा नहीं इसके मान को सेट करता है। इस प्रॉपर्टी के True सेट होने पर फॉर्म के कैप्शन प्रकट होगा तथा False सेट करने पर बार पर फॉर्म को मिनिमाइज़ करने वाला बटन यह बटन प्रकट नहीं होगा। Opacity – फॉर्म के ओपेसिटि स्तर को सेट करता है । ShowIcon – फॉर्म के कैप्शन बार पर आइकन डिस्पले होगा अथवा नहीं यह सेट करता है।
Size – फॉर्म के आकार को सेट करता है। WindowState – फॉर्म के विण्डो की अवस्था को सेट करता है।
फॉर्म के मेथडस् (Methods of Form)
इस खण्ड में वी. बी. डॉट नेट के फॉर्म कंट्रोल के मुख्य मेथडों के बारे में जानते हैं । Activate – फॉर्म को एक्टिवेट कर इसे फोकस करता है । Close – फॉर्म को बंद करता है । Dispose – फॉर्म के द्वारा उपयोग किए गए संसाधनों को रिलीज़ करता है। Select – फॉर्म को एक्टिवेट कर इसके चाइल्ड कंट्रोल को फोकस करता है । Show – फॉर्म को डिस्पले करता है । Activate – फॉर्म को मॉडल डायलॉग बॉक्स की तरह प्रकट करता है ।
फॉर्म के इवेण्टस् (Events of Form)
इस खण्ड में वी. बी. डॉट नेट के फॉर्म कंट्रोल के प्रमुख इवेण्ट बारे में जानते हैं। Activated –फॉर्म को कोड में या यूजर के द्वारा एक्टिवेट करने पर घटित होता है। Closed – फॉर्म के बंद होने पर घटित होता है। Closing – फॉर्म जब बंद हो रहा होता है तब घटित होता है। Deactivate – फॉर्म से फोकस हटने या इसके निष्क्रिय होने पर घटित होता है। Load – फॉर्म के लोड होने पर घटित होता है। यह इसका डिफॉल्ट इवेण्ट है।
साधारण विण्डोज फॉर्म बनाना (Creating a Simple Windows Form)
साधारण विण्डोज फॉर्म बनाने के लिये आपको केवल कुछ स्टेप विजुअल स्टूडियो में करने होते हैं। ये स्टेप इस प्रकार है –
Visual Studio को खोलें। Visual Studio को खोलने के लिए Start → All Programs Microsoft Visual Studio 2005 Microsoft Visual Studio 2005 का चयन करें ।
उसके बाद File को क्लिक करें तथा New Project का चयन करें।
Project Types से Visual Basic तथा Templates पेन में Windows Application का चयन करें।
विण्डोज फॉर्म के प्रॉपर्टी को सेट करना (Creating a Simple Windows Form)
विण्डोज फॉर्म पर कार्य करने के लिए हम उसे एप्लिकेशन की आवश्यकता के अनुसार एक रंग देते हैं। इसे रंग रूप देने के लिए दो विधियाँ हैं । आप फॉर्म के प्रॉपर्टी को डिज़ायन समय सेट कर सकते हैं या फिर इसे रन टाइम भी सेट कर सकते हैं । इसे डिज़ायन समय सेट करने के लिए प्रॉपर्टीज़ विण्डो का उपयोग करते हैं । प्रॉपर्टीज़ विण्डो की सहायता से फॉर्म के प्रॉपर्टी को सेट करने के लिए यह करें –
मेन्यू बार पर View को क्लिक करें और Properties Windows का चयन करें। या की बोर्ड से F4 दबाएं । ऐसा करने पर Properties विण्डो खुलेगा।
उसके बाद फॉर्म का चयन करें। Properties विण्डो में फॉर्म से संबंधित प्रॉपर्टी दिखेंगे ।
जिस प्रॉपर्टी को सेट करना चाहते हैं उस प्रॉपर्टी के दायीं ओर मान का चयन करें या फिर मान इनपुट करें। उदाहरण के लिए फॉर्म के टाइटल बार पर कैप्शन प्रकट करने के लिए Text प्रॉपर्टी के दायीं ओर कैप्शन Form Demo टाइप करें ।
फॉर्म के प्रॉपर्टी को रन टाइम बदलने के लिए फॉर्म के Load इवेण्ट हैण्डलर में कोड लिखना होता है । Load इवेण्ट फॉर्म का डिफॉल्ट इवेण्ट हैं । इसके लिए निम्नलिखित पदों का अनुसरण करें –
फॉर्म को दो बार क्लिक करें । तत्पश्चात आपको फॉर्म का Load इबेण्ट हैण्डलर की भाँति दिखेगा । Load नेण्ट हैण्डलर का फॉरमेट इस प्रकार होगा Private Sub Form1_Load (ByVal sender As System. Object, ByVal e As System.EventArgs) Handles MyBase.Load
इस इवेण्ट हैण्उलर के बीच में इसके प्रॉपर्टी को सेट करें । उदाहरण के लिए इसके बैकग्राउण्ड को बदलने के लिए यह कोड लिखें – Me. BackColor Color. White
विण्डोज फॉर्म में कंट्रोल जोड़ना (Adding Controls to A Windows Form)
विण्डोज फॉर्म में कंट्रोल जोड़ना बहुत आसान है। इसके लिए आप इन पदोंका अनुसरण करें –
टूलबॉक्स को डिस्प्ले करें यदि यह स्क्रीन पर उपलब्ध नहीं है तो । इसके लिए View उमन्यू से Toolbox का चयन करें। या फिर CTRL + ALT + X दबाएं । टूलबॉक्स दिखेगा ।
उसके बाद टूलबॉक्स से बटन को दो बार क्लिक करें और उसे उपयुक्त स्थान पर ले जायें। बटन को चयन करने के बाद F4 दबाकर Properties विण्डो खोलें। तथा वहाँ बटन के Text प्रॉपर्टी में Say Hello टाइप करें।
बटन में क्लिक इवेण्ट के लिये इवेन्ट हैण्डलर जोड़ने के लिये उस बटन को दो बार क्लिक करें। इबेण्ट हैण्डलर के अन्दर कर्सर दिखेगा जो इन्सर्शन पॉइन्ट है। अर्थात आप की से इस इवेण्ट हैण्डलर के लिये कोड लिखने की शुरुआत कर सकते हैं। वहाँ यह कोड लिखें- MsgBox (“Hello Visual Basic”, 0, “Greeting”)
उसके बाद F5 दबा कर प्रोग्राम को रन करें । Say Hello बटन को क्लिक करें। आपको एक छोटा संदेश बॉक्स दिखेगा जिसमें सन्देश प्रकट होगा। परिणाम दिखेगा।
विण्डोज फॉर्मूस में बैकग्राउण्ड इमेज जोड़ना (Adding Background Image to Windows Forms)
विण्डोज़ फॉर्म्स को डिज़ाइन करते समय आप को कभी-कभी फॉर्म में या किसी कण्ट्रोल के लिये बैकग्राउण्ड इमेज जोड़ना पड़ता है। आप यह इसके प्रॉपर्टीज विण्डो द्वारा कर सकते हैं। विण्डोज फॉर्मस में बैकग्राउण्ड इमेज को जोड़ने के लिये ये करें-
फॉर्म का चयन करें।
प्रॉपर्टीज विण्डो से BackgroundImage के इलिपसिस बटन (…) को क्लिक करें। उसके बाद Select Resource डायलॉग बॉक्स खुलेगा ।
Import को क्लिक कर Open डायलॉग बॉक्स खोलें। (देखें चित्र 6.9)। Open डायलॉग बॉक्स से उस लोकेशन में जायें जहाँ आपकी वह चित्र फाइल सुरक्षित है। उदाहरण के लिये My Pictures में यदि आपके चित्र किया गया फाइल का नाम Select Resource डायलॉग बॉक्स के Entry सूची में दिखेगा तथा वह इमेज फाइल सुरक्षित हैं तो My Pictures फोल्डर का चयन करें और उस चित्र का चयन करें। आप के द्वारा चयन Preview बॉक्स में प्रकट होगा ।
उसके बाद इमेज को संसाधन के रूप में इमपोर्ट करने के लिये OK को क्लिक करें। इसके बाद वह इमेज जिसका आपने चयन किया है फॉर्म पर दिखेगा।
इसके बाद आप यह भी देखेंगे कि आप के प्रोजेक्ट फोल्डर के अंदर Resources नामक एक फोल्डर स्वतः ही बन गया है जिनके संसाधनों का उपयोग आप प्रोजेक्ट में और कहीं भी आवश्यकतानुसार कर सकते हैं। और इसी Resources फोल्डर में वह इमेज भी है।
विण्डोज फॉर्म से बैकग्राउण्ड इमेज को हटाना (Removing a Background Image from a Windows Form)
विण्डोज फॉर्मस में जोड़े गये बैकग्राउण्ड इमेज को आप जब चाहें हटा सकते हैं। इसे डिजायन के समय हटाने की विधि – प्रॉपर्टीज विण्डो में इलिपसिस बटन (…) को दायाँ क्लिक करें तथा Reset का चयन करें , ऐसा करने पर आप के द्वारा फॉर्म पर जोड़ा गया इमेज फॉर्म से हट जायेगा। परन्तु यह इमेज आपके प्रोजेक्ट के Resources फोल्डर में उपलब्ध रहेगा। आप जब चाहें उसे फिर से उपयोग में ला सकते हैं।
विण्डोज फॉर्मस में फॉर्म एक विजुअल पृष्ठ (surface) है जिस पर आप यूजर के लिये सूचना को प्रदर्शित करते हैं। आप आमतौर पर फॉर्म पर कण्ट्रोल जोड़ कर तथा यूजर एक्शन यथा माउस क्लिक या की प्रेस (key press) विकसित कर विण्डोज एप्लिकेशनों का निर्माण करते हैं।
कण्ट्रोल एक अलग यूजर इन्टरफेंस अवयव है जो डाटा को प्रदर्शित करता है या डाटा इनपुट स्वीकार करता है।
जब यूजर आपके फॉर्म पर या इसके किसी कण्ट्रोल के साथ कोई कार्य करता है, तब वह एक्शन एक इवेण्ट को जन्म देता है। आपके एप्लिकेशन कोड की सहायता से उन इवेण्ट पर अपनी प्रतिक्रिया करता है तथा उन इवेण्ट को प्रोसेस करता है जब वे घटित होते हैं।
विण्डोज फॉर्म्स में कई तरह के कण्ट्रोल होते हैं जिन्हें आप फॉर्म में जोड़ सकते हैं। ये कण्ट्रोल टेक्स्टबॉक्स, बटन, ड्रॉपडाउन बॉक्स, रेडियो बटन तथा वेबपेज को प्रदर्शित कर सकते हैं।
Accept Button प्रॉपर्टी फॉर्म पर उस बटन को सेट करता है जो यूज़र द्वारा Enter की के दबाए जाने पर क्लिक होता है ।
Allow Transparency प्रॉपर्टी फॉर्म के ओपेसिटि (opacity) को बढ़ाया या घटाया जा सकता है अथवा नहीं इसके सूचक मान को सेट करता है ।
AutoSizeMode प्रॉपर्टी फॉर्म स्वयं अपने आकार में परिवर्तन किस मोड में कर सकता है इसे सेट करता है।
Form Border Style प्रॉपर्टी फॉर्म के बॉर्डर स्टाइल को सेट करता है ।
HelpButton प्रॉपर्टी फॉर्म के कैप्शन बॉक्स में सहायता बटन प्रकट होना चाहिए अथवा नहीं इसके मान को सेट करता है । इस प्रॉपर्टी के True सेट होने पर Close बटन के पहले एक प्रश्न चिह्न वाला छोटा बटन प्रकट होता है । आप इस बटन का उपयोग अपने एप्लिकेशन के लिए सहायता प्रदर्शित करने में कर सकते हैं। परन्तु यह तभी प्रकट होगा जब MaximizeBox तथा MinimizeBox प्रॉपर्टी False सेट हों ।
Icon प्रॉपर्टी फॉर्म पर आइकन को सेट करता है ।
IsMdiChild प्रॉपर्टी फॉर्म कोई मल्टिपल डॉक्यूमेण्ट इंटरफेस चाइल्ड फॉर्म है अथवा नही यह बताने के लिए मान प्राप्त करता है ।
IsMdiContainer प्रॉपर्टी फॉर्म किसी मल्टिपल डॉक्यूमेण्ट इंटरफेस चाइल्ड फॉर्म का कंटेनर है अथवा नही यह बताने के लिए मान सेट करता है।
MainMenuStrip प्रॉपर्टी फॉर्म के लिए प्राथमिक मेन्यू कंटेनर को सेट करता है।
Show मेथड फॉर्म को डिस्पले करता है ।
टूलबॉक्स को डिस्प्ले करने के लिए View उमन्यू से Toolbox का चयन करें। या फिर CTRL + ALT + X दबाएं ।
Load इवेण्ट फॉर्म के लोड होने पर घटित होता है। यह इसका डिफॉल्ट इवेण्ट है ।
विण्डोज फॉर्म पर कार्य करने के लिए हम उसे एप्लिकेशन की आवश्यकता के अनुसार एक रंग देते हैं । इसे रंग रूप देने के लिए दो विधियाँ हैं । आप फॉर्म के प्रॉपर्टी को डिज़ायन समय सेट कर सकते हैं या फिर इसे रन टाइम भी सेट कर सकते हैं ।
कंट्रोल स्टेटमेंट क्या है एवं उपयोग | Loop कितने प्रकार के होते हैं? – कंट्रोल स्टेटमेण्ट पार्ट-2 | Control Flow Statements In Vb.Net In Hindi
कंट्रोल स्टेटमेण्ट पार्ट-2 लॉजिकल ऑपरेटर का परिचय (Introduction)- प्रोग्रामिंग भाषा पूर्णतः प्राकृतिक भाषा से प्रेरित होता है। और प्रोग्राम आपके नित्य प्रतिदिन के कार्यों से अलग नहीं होता है। आप जो भी प्रातःकाल से संध्या तक करते हैं वह एक तरह का प्रोग्राम ही होता है। इस प्रोग्राम के दौरान कुछ तो काम आप रूटीन के हिसाब से क्रम में करते रहते हैं तथा कुछ काम परिस्थिति के अनुसार करते हैं।
लूप स्टेटमेण्टस (Loop Statements)
लूप का शाब्दिक अर्थ फंदा या छल्ला होता है । लूप किसी कार्य को बार बार एक निश्चित समय तक दोहराने को विवश करता है । लूप स्टेटमेण्ट भी यही कार्य करता है। यह प्रोग्राम के किसी एक ब्लॉक को एक निश्चित समय तक दोहराता है। यह कार्य तब तक बार बार होता रहता है जब तक कि कडिशन सत्य रहता है । कडिशन के असत्य होने पर लूप समाप्त हो जाता है और लूप के बाद वाला स्टेटमेण्ट एक्ज़िक्यूट होता है । वी बी डॉट नेट में कई प्रकार से लूप का प्रयोग होता है।
लूपिंग स्टेटमेंट क्या होता है? –कंट्रोल स्टेटमेण्ट पार्ट-2| What is loop statement with example? In Hindi
व्हाइल एण्ड व्हाइल लूप (While… End While Loop)
While… End While स्टेटमेण्ट का उपयोग आप तब करते हैं जब आप प्रोग्राम के एक विशेष भाग को बार बार तब तक दोहराना चाहते हैं जब तक कि कडिशन असत्य न हो जाय । इस का प्रारूप इस प्रकार होता है –
While <condition> statements End While
जहाँ condition से तात्पर्य वह व्यंजक है जिसका मान बूलियन (सत्य या असत्य) होता है। उदाहरण के लिए num < 10 का परिणाम सत्य या असत्य होगा। तथा स्टेटमेण्टस से तात्पर्य एक या एक से अधिक स्टेटमेण्ट हैं जो तब एक्ज़िक्यूट होगा जब कंडिशन का मान सत्य हो । तथा End While, While लूप को समाप्त करता है ।
उदाहरण- एक कंसोल एपलकेशन लिखें जो स्कीन पर 1 से 20 तक के मध्य सभी विषम संख्यायों को छापे ।
समाधान :
File मेन्यू को क्लिक करें तथा New Project का चयन करें।
New Project डायलॉग बॉक्स खुलने के पश्चात Templates पेन Console Application को क्लिक करें।
Name टेक्स्टबॉक्स में My Project टाइप करें तथा OK को क्लिक करें। उसके बाद कोड एडिटर खुलेगा। यहाँ Sub Main) और End Sub के मध्य निम्नलिखित कोड लिखें-
dim num as integer = 1
while num <= 19 Console.WriteLine(num) num = num + 2 End While Console.ReadLine())
F5 दबायें तथा परिणाम को जाँचें।
डू व्हाइल………..लूप (Do While…Loop)
Do While…Loop का उपयोग किसी भी प्रोग्रामिंग भाषा की तरह ही वी० बी० डॉट नेट में स्टेटमेंट के एक क्रम (sequence) को कई बार दोहराने के लिए होता है। प्रत्येक दोहराव (repetition) पर स्टेटमेण्ट उन वेरियेबल पर कार्य करते हैं जिनके मान बदलते रहते हैं। Do While स्टेटमेण्ट के क्रम को एक निश्चित समय तक दोहराता रहता है या फिर किसी खास कंडीशन के सत्य होने तक दोहराता रहता है।
Do While स्टेटमेण्ट के क्रम से पहले आता है तथा Loop स्टेटमेण्ट स्टेटमेण्ट के क्रम का अनुसरण करता है। उदाहरण के लिए निम्नलिखित- Do while <कंडीशन> स्टेटमेण्ट Loop
में यह कंडीशन के सही मान का पता लगाता है। यदि कंडीशन गलत है तो लूप के अंदर का स्टेटमेण्ट एक्जिक्यूट नहीं होता है तथा प्रोग्राम Loop स्टेटमेण्ट के बाद लाइन के साथ क्रमशः रहता है। यदि कंडीशन सत्य हो जाता है तब लूप के अंदर का स्टेटमेण्ट एक्जिक्यूट होता है। Loop स्टेटमेण्ट के मिलने पर पूरी प्रक्रिया दोहरायी जाती है जो Do While स्टेटमेण्ट में कंडीशन की जाँच शुरू होता है। अन्य शब्दों में लूप के अंदर स्टेटमेण्ट तब तक बार-बार एक्जिक्यूट होता रहता है जब तक कंडीशन पूरा न हो जाय।
उदाहरण प्रोग्राम 1 से 10 तक स्क्रीन पर छापता है। इसके बाद एक संदेश देता है जो 1 to 10 is already printed छापता है। इसमें सबसे पहले num का मान 1 माना गया है। Do While के साथ एक कॉडेशन num <=10 है जिसका अर्थ यह है कि num का मान 10 या इससे कम होना चाहिए।
Console.WriteLine, num के प्रत्येक मान को स्कीन पर छापता है। सबसे पहले यह num का मान । छापता है। प्रोग्राम न छप जाय। 1 से 10 तक छपने के बाद एक्जिक्यूशन लूप से बाहर निकलता है और लूप के ठीक बाद प्रोग्राम के उस में अगले लाइन पर num+=1 num के मान में 1 जोड़ता है।
यह तब तक जोड़ता रहता है जब तक कि स्क्रीन पर 10 न छप जाय | लाइन 1 to 10 is already printed छपता है। Console. Read स्कीन को पढ़ने के लिए तब तक रोके रहता है जब तक आप एण्टर (Enter) की न दबा दें। इस प्रोग्राम से यह तो रूपष्ट है कि जब तक Do While का कडिशन पूरा नहीं हो जाता तब तक एक्जिक्यूशन लूप के बाहर नहीं आता।
उदाहरण- एक ऐसा कंसोल प्रोग्राम लिखें जो Do While … Loop का प्रयोग करते हुए स्कीन पर 1 से लेकर 10 तक छापे।
समाधान-
File मेन्यू को क्लिक करें तथा New Project का चयन करें।
New Project डायलॉग बॉक्स खुलने के पश्चात Templates पेन में Console Application को क्लिक करें।
Name टेक्स्टबॉक्स में My Project टाइप करें तथा OK को क्लिक करें। उसके बाद कोड एडिटर खुलेगा। जहाँ इस कोड को लिखें –
Dim num As Integer = 1 Do While num <= 10 Console.WriteLine(num) num += 1 Loop Console.WriteLine(“1 to 10 is already printed”) Console.Read()
F5 दबाएँ। आउटपुट दिखेगा।
डू अनटील लूप (Do Until Loop)
आपने देखा कि Do While स्टेटमेण्ट किसी सूप को तभी तक दोहराता है जब तक कि कंडीशन सत्य रहता है। उदाहरण के लिए 1 से 10 तक की संख्या को छापने के लिए दिया जाने वाला कोड – do while num < 10
तब तक संख्या को छापता रहता है जब तक कि num का कस मान 10 से नीचे या इसके बराबर तक रहता है। अर्थात Do While स्टेटमेण्ट सत्य रहता है। लेकिन कभी कभी आप किसी कार्य या फॉर्मूला को तब तक दोहराना चाहते होंगे जब तक कि कॅडिशन पूरा न हो। इस के लिए, आप Do Until स्टेटमेण्ट का प्रयोग कर सकते हैं।
इसका भी प्रारूप Do While की तरह ही लगता है तथा दोनों के मध्य अंतर केवल इसके कॉडिशन में होता है। इसका प्रारूप इस प्रकार होगा- Do Until <condition> statement to be executed
Loop
इसे यदि आप Do Until… Loop का उपयोग करके सम्पन्न करना चाहते हैं तो केवल Do While mum <= 10 के बदले Do Until >=10 कर दें।
डू… लूप व्हाइल (Do. Loop While)
Do… Loop While स्टेटमेण्ट While… End While स्टेटमेण्ट के समान है। केवल इसमें अंतर यह है कि While…End While स्टेटमेण्ट को तब तक एक्ज़िक्यूट करता रहता है जब तक कंडिशन सत्य रहता है। बाई डिफॉल्ट Do…Loop While स्टेटमेण्ट एक ही बार एक्ज़िक्यूट होता है चाहे परिणाम सत्य हो या असत्य हो ।
तथा तदुपरांत कॅडिशन का मूल्यांकन होता है। इसका प्रारूप यह है – Do statements Loop While condition
डू … लूप अनटील (Do… Loop Until)
Do … Loop Until ब्लॉक में कंडीशन सामान्यतः लूप के शीर्ष पर अर्थात् स्टेटमेण्ट एक्जिक्यूट होने से पहले चेक होता है। विकल्प के रूप में, कंडीशन को लूप के सबसे नीचे भी चेक किया जा सकता है जब स्टेटमेंट Loop पर पहुँचता है। जब वी० बी० डॉट नेट में इस प्रकार का Do Loop स्वरूप होता है-
Do Statement (s) Loop Until condition
तब यह लूप के अंदर के स्टेटमेण्ट को एक्जिक्यूट करता है तथा फिर कंडीशन के सत्यमान (truth value) की जाँच करता है। यदि कंडीशन सत्य होता है तो प्रोग्राम Loop स्टेटमेण्ट के बाद के लाइन के साथ क्रमशः रहता है। यदि कंडीशन असत्य होता है तब पूरी प्रक्रिया Do स्टेटमेण्ट के शुरू से ही दोहरायी जाती है। दूसरे शब्दों में, लूप के अंदर के स्टेटमेण्ट एक बार एक्जिक्यूट होते हैं और फिर बार-बार तब तक एक्जिक्यूट होते रहते है जब तक कि कंडीशन सही न हो।
फॉर नेक्स्ट (For Next )
जब आप कोइ प्रोग्राम लिखते हैं तो आपको एक्शनों को बारम्बार दोहराने की आवश्यकता पड़ती है। उदाहरण के लिए, मान लिजिए कि आप कोइ फंक्शन लिख रहे हैं जो संख्यायों की एक सीरीज को स्क्रीन पर डिस्पले करता है। आप चाहेंगे कि कोड का वह लाइन दोहराया जाय जो संख्या को उतनी ही बार डिस्पले करे जितनी बार आवश्यक है।
For… Next लूप की सहायता से आप किसी विशेष एक्शन को एक संख्या देकर उसके दोहराव को सीमित कर सकते हैं। ऐसा करने पर वह उतनी ही बार होगा जितना आपने स्पष्ट किया है । इसका प्रारूप यह है
For counter [ As datatype] = start To end [ Step step ] [ statements ] [ Exit For ] [ statements ] Next [ counter ] counter
For – स्टेटमेण्ट के लिए यह आवश्यक अवयव है। यह वह संख्यात्मक वेरिएबल है जो लूप को नियंत्रित करता है।
datatype – यह तब आवश्यक है जब आपने counter के डाटा को डिक्लेअर नहीं किया है।
start – यह भी आवश्यक अवयव है। यह न्यूमेरिक व्यंजक है जो counter का प्रारम्भिक मान होता है।
end – यह भी आवश्यक अवयव है। यह न्यूमेरिक व्यंजक है जो counter का अंतिम मान होता है।
step – यह एच्छिक है। यह वह व्यंजक होता है जो प्रत्येक संख्या के अनुसार counter को बढ़ाता है।
statements – यह भी वैकल्पिक है। इसे आप आवश्यकतानुसार रख सकते हैं। सामान्यतः इसका प्रयोग नहीं होता है। ये For तथा Next के मध्य स्पष्ट किए गए संख्या के अनुसार उतनी ही बार रन करता है।
Exit For – यह भी वैकल्पिक है। यह For लूप के बाहर कंट्रोल (control) को भेजता है।
Next – यह आवश्यक अवयव है। यह For लूप को समाप्त करता है।
उदाहरण के लिए इस प्रोग्राम को देखें- Dim i As Integer Fori = 1 To 10 Console. WriteLine (i) Next
उपरोक्त कोड स्क्रीन पर 1 से 10 तक छापेगा। इसे उपरोक्त प्रारूप के अनुसार इस For i as Integer = 1 To 10 Console. WriteLine (i) Next
आप Next के बदले Nexti भी लिख सकते हैं।
अब यदि आप चाहते हैं कि कंट्रोल वेरिएबल लूप को एक संख्या (यथा 2) के आधार पर बढ़ाए अर्थात उपरोक्त प्रोग्राम में यह लूप केवल 5 बार ही चले तो इसमें Step जोड़ सकते हैं। इसका कोडिंग इस प्रकार होगा – For i as Integer = 1 To 10 Step 2 Console. WriteLine (i) Next
उपरोक्त कोड स्क्रीन पर यह आउटपुट देगा –
1 3 5 7 9
जैसे –(1 ) एक कंसोल एप्लिकेशन लिखें जो 2 का पहाड़ा स्क्रीन पर छापे।
समाधान :
File मेन्यू को क्लिक करें तथा New Project का चयन करें।
New Project डायलॉग बॉक्स खुलने के पश्चात Templates पेन में Console Application को क्लिक करें।
Name टेक्स्टबॉक्स में My Project टाइप करें तथा OK को क्लिक करें। उसके बाद कोड एडिटर खुलेगा। जहाँ इस कोड को लिखें.
Dim i As Integer For i = 2 To 20 Step 2 Console.WriteLine(i) Next Console.ReadLine()
F5 दबाकर परिणाम को देखें।
Console.ReadLine) स्क्रीन पर आपको आपके परिणाम को देखने में सहायता करता है। यह तब तक आउटपुट स्क्रीन को तब तक नहीं हटाता जब तक कि आप एण्टर (Enter) न दबाएँ।
जैसे – (2) एक कसोल एप्लिकेशन बनाएं जो आपके द्वारा इनपुट किए गए संख्या का पहाडा स्कीन पर छापे
समाधान :
File मेन्यू को क्लिक करें तथा New Project का चयन करें।
New Project डायलॉग बॉक्स खुलने के पश्चात Templates पेन में Console Application को क्लिक करें।
Name टेक्स्टबॉक्स में My Project टाइप करें तथा OK को क्लिक करें। उसके बाद कोड एडिटर खुलेगा। जहाँ इस कोड को लिखें
Dim i As Integer Dim j As Integer Console. Write (“Enter Integer of Table “) J= CInt (Console. ReadLine ()) For I = J To j * 10 Step j Console. WriteLine (i) Next Console.ReadLine()
F5 दबाकर परिणाम को प्रकट करें।
आज आपने क्या सीखा (What Did You Learn Today)
स्टेटमेण्ट किसी प्रोग्रामिंग भाषा का सबसे छोटा अवयव होता है। इसका उपयोग प्रोग्राम एक्जिक्यूशन के दौरान किसी कार्य को सम्पन्न करने लिए कम्प्यूटर को सूचित करने के लिए होता है।
कंट्रोल फ्लो उस क्रम को कहते हैं जिस क्रम में स्टेटमेण्ट एक्जिक्यूट होता है। वैसे स्टेटमेण्ट जो प्रोग्राम में एक्जिक्यूशन के फ्लो को नियंत्रित करते हैं कंट्रोल फ्लो स्टेटमेण्ट कहलाते है।
कंट्रोल फ्लो स्टेटमेण्ट को मूलतः दो प्रकार निर्णयन स्टेटमेण्ट तथा लूप स्टेटमेण्ट में बांटा जा सकता है। If… Else प्रोग्राम को किसी विशेष कार्य जिसमें शर्त या तो सत्य होता है या असत्य के आधार पर कार्य करने देता है। यह एक प्रकार से आपके प्रोग्राम में इंटेलिजेन्स (intelligence) को जोड़ता है जिसमें परिस्थिति के अनुसार विकल्पों में से किसी को चयन करना होता है।
If … ElseIf … Else कंट्रोल स्टेटमेण्ट If … Else का ही एक्स्टेंशन है। इसके माध्यम से आप ElseIf का प्रयोग कर दो या अधिक संभावित विकल्पों को जोड़ सकते हैं।
नेस्टेड If ब्लॉक में एक If … End If के अंदर कई If … End If हो सकता है । इसीलिए इसे नेस्टेड If ब्लॉक कहा जाता है । इस ब्लॉक का उपयोग बहुत कम होता है क्योंकि यह थोड़ा जटिल है
नेस्टेड If ब्लॉक के बदले आप साधारण If ब्लॉक का भी प्रयोग कर सकते हैं । ऐसा आप If ब्लॉक में AND ऑपरेटर को जोड़ कर कर सकते हैं ।
Select Case का प्रयोग कर आप जितना चाहें उतने कंडिशनों को सहज रूप से उपयोग में ला सकते हैं जो उन स्थितियों में जहाँ कई विकल्प हैं को प्रयोग करना आसान बनाता है ।
लूप का शाब्दिक अर्थ फंदा या छल्ला होता है । लूप किसी कार्य को बार बार एक निश्चित समय तक दोहराने को विवश करता है । लूप स्टेटमेण्ट भी यही कार्य करता है । यह प्रोग्राम के किसी एक ब्लॉक को एक निश्चित समय तक दोहराता है ।
While… End While स्टेटमेण्ट का उपयोग आप तब करते हैं जब आप प्रोग्राम के एक विशेष भाग को बार बार तब तक दोहराना चाहते हैं जब तक कि कंडिशन असत्य न हो जाय ।
Do White. Loop का उपयोग किसी भी प्रोग्रामिंग भाषा को कम (sequence) को कई बार दोहराने के लिए होता है। प्रत्येक
लूप स्टेटमेण्ट का उपयोग करते समय आप सही खूप स्टेटमेण्ट का ही प्रयोग करें। स्टेटमेण्ट के एक सेट को अनिश्चितकालिन बार तक दोहराते हो तब While End While का उपयोग करें। यदि आपकशन को किसी विशेष स्थान पर तथा किसी विशेष परिणाम के लिए जाँचना चाहते है तो Do..Loop स्टेटमेण्ट का प्रयोग करें। यदि आप किसी स्टेटमेण्ट को एक निश्चित समय तक के लिए दोहराना चाहते हैं तो For… Next स्टेटमेण्ट उत्तम होगा।
Do… Loop While स्टेटमेण्ट While..End While स्टेटमेण्ट के समान है। केवल इसमें अंतर यह है कि While..End While स्टेटमेण्ट को तब तक ज़क्यूट करता रहता है जब तक रहता है। वाई डिफॉल्ट Do…Loop While स्टेटमेण्ट एक ही बार एक्क्यूिट होता है चाहे परिणाम सत्य हो या असत्य हो ।
Do… Loop Until ब्लॉक में कंडोशन सामान्यतः लूप के शीर्ष पर अर्थात स्टेटमेण्ट एक्जिक्यूट होने से पहले चेक होता है। विकल्प के रूप में, कडीशन को खूप के सबसे नीचे भी चेक किया जा सकता है जब स्टेटमेंट Loop पर पहुँचता है।
For… Next लूप की सहायता से आप किसी विशेष एक्शन को एक संख्या देकर उसके दोहराब को सीमित कर सकते हैं। ऐसा करने पर वह उतनी ही बार होगा जितना आपने स्पष्ट किया है।
कंट्रोल स्टेटमेंट क्या है एवं उपयोग | कंट्रोल स्टेटमेण्ट लॉजिकल ऑपरेटर (Control Statement) | Control Flow Statements In Vb.Net In Hindi
कंट्रोल स्टेटमेण्ट लॉजिकल ऑपरेटर का परिचय (Introduction)- प्रोग्रामिंग भाषा पूर्णतः प्राकृतिक भाषा से प्रेरित होता है। और प्रोग्राम आपके नित्य प्रतिदिन के कार्यों से अलग नहीं होता है। आप जो भी प्रातःकाल से संध्या तक करते हैं वह एक तरह का प्रोग्राम ही होता है। इस प्रोग्राम के दौरान कुछ तो काम आप रूटीन के हिसाब से क्रम में करते रहते हैं तथा कुछ काम परिस्थिति के अनुसार करते हैं।
उदाहरण के तौर पर आप यदि सब्जी बाजार जाते है और आपने रात के खाने के लिए भिण्डी और लौकी लेने का प्रोग्राम बनाया है परन्तु भिण्डी बाजार में उपलब्ध नहीं है।
ऐसी स्थिति में आपके प्रोग्राम में परिस्थितिवश बदलाव आएगा तथा आप भिण्डी के बदले कुछ और खरीदेंगे या फिर केवल लौकी लेकर ही वापस आ जायेंगे। दूसरा, आपके प्रोग्राम में एक नियत समय में एक ही काम को बार-बार करने का भी कुछ होता है। उदाहरण के तौर पर 12 बजे खाना खाना है, 4 बजे चाय पीना और 8 बजे रात में रात्रि भोज लेना है।
इस तरह के कार्य की आपको कम्प्यूटर प्रोग्राम में भी आवश्यकता पड़ती है। इस आर्टिकल में मैं आपसे इनहीं अवयवों पर चर्चा करेंगे। इस प्रकार के कार्य को लॉजिकल ऑपरेशन कहा जाता है। इसके लिए लॉजिकल ऑपरेटर की आवश्यकता पड़ती है।
कंट्रोल स्टेटमेण्ट कितने प्रकार के होते हैं? | What Is Control Statement And Its Types In Hindi
लॉजिकल ऑपरेटर (Logical Operator)
लॉजिक गेटस के बारे में तो आप जानते ही होंगे। लॉजिक गेटस की तरह ही लॉजिकल ऑपरेटर्स होते है जो परिणाम के रूप में केवल बूलियन मान ही लौटाते है। बूलियन मान का अर्थ सत्य या 1 तथा असत्य या 0 होता है। लॉजिकल ऑपरेटर्स लॉजिकल ऑपरेशन को पूरा करते हैं। उदाहरण के लिए निम्नलिखित को देखें-
1 < 2 = True OR 1 2 < 1 = False OR 0 A < a = rue OR 1 A = A = True OR 1
(चूंकि A का ऐनसी मान 65 तथा a का ऐनसी मान 97 होता है। वी० बी० डॉट नेट में मूलतः चार लॉजिकल ऑपरेटर हैं। इनके नाम Not, And, Or तथा XOR हैं।
Not ऑपरेटर (Not Operator)
Not ऑपरेटर में एक ही ऑपरेण्ड होता है। इस Not ऑपरेटर का परिणाम सत्य या असत्य हो सकता है । इसका परिणाम तब सत्य होगा जब ऑपरेण्ड असत्य होगा तथा यह असत्य होगा जब ऑपरेण्ड सत्य होगा। सांरणी में NOT ऑपरेटर के ऑपरेण्ड तथा परिणाम दिखाये गये हैं।
ऑपरेण्ड
परिणाम
सत्य (1) असत्य (0)
असत्य (0) सत्य (1)
And ऑपरेटर (And Operator)
And ऑपरेटर में मूलतः दो ऑपरेण्ड होते हैं। तथा इसमें यदि दोनों ऑपरेण्ड सत्य हैं तो परिणाम भी सत्य होगा। यदि दोनों में कोई भी ऑपरेण्ड असत्य होगा तो परिणाम असत्य ही होगा। इसे सारणी में दर्शाया गया है।
ऑपरेण्ड 1
ऑपरेण्ड 2
परिणाम
सत्य (1) सत्य (1) असत्य (0) असत्य (0)
सत्य (1) असत्य (0) सत्य (1) असत्य (0)
सत्य (1) असत्य (0) असत्य (0) असत्य (0)
OR ऑपरेटर (OR Operator)
OR ऑपरेटर में भी And की भाँति मूलतः दो ही ऑपरेण्ड होते हैं। और यह कुछ स्थितियों में And ऑपरेटर के ठीक विपरीत परिणाम देता है। यदि दोनों ऑपरेण्ड असत्य है तो यह भी And की तरह ही असत्य परिणाम देता है। परन्तु यदि दोनों में कोई भी ऑपरेण्ड सत्य है तो यह And के विपरीत परिणाम सत्य ही होगा। इसे सारणी में दर्शाया गया है।
ऑपरेण्ड 1
ऑपरेण्ड 2
परिणाम
असत्य (0) असत्य (0) सत्य (1) सत्य (1)
असत्य (0) सत्य (1) असत्य (0) सत्य (1)
असत्य (0) असत्य (0) सत्य (1) सत्य (1)
XOR ऑपरेटर (XOR Operator)
XOR ऑपरेटर में भी मूलतः दो ऑपरेण्ड होते है। इसका पूर्ण रूप एक्स्क्लूसिव OR (eXclusive OR) होता है। इसमें यदि दोनों ऑपरेण्ड सत्य है तो परिणाम असत्य होगा। और यदि दोनों ऑपरेण्ड असत्य है तो परिणाम असत्य होगा। साथ ही दोनों में से कोई भी ऑपरेण्ड के सत्य होने पर परिणाम सत्य ही होगा। इसे सारणी में दर्शाया गया है।
प्रिसिडेन्स का अर्थ होता है कि यदि एक से अधिक ऑपरेटर के समायोजन से कोई स्टेटमेण्ट बनता है तो कौन सा ऑपरेटर पहले कार्य करेगा। उदाहरण – False Or True And True उपरोक्त स्टेटमेण्ट में दो लॉजिकल ऑपरेटर है। तथा इसे दो तरह से भी इस प्रकार पढ़ा जा सकता है। False Or True True And True
लेकिन कौन सा सही कार्य करेगा यह ऑपरेटर की प्राथमिकता क्रम जानने के बाद होगा। सारणी में लॉजिकल ऑपरेटर प्रिसिडेन्स दर्शाया गया है।
ऑपरेटर
प्रिसिडेन्स
NOT AND OR XOR
1 2 3 4
अब सारणी में आप को ऊपर के लॉजिकल ऑपरेटर का परिणाम पता चल जाएगा। चूँकि उपर का स्टेटमेण्ट AND तथा OR का समायोजन है। इसलिए वरीयतानुसार पहले हम AND का परिणाम निकालेंगे जो कि सत्य होगा। उसके बाद फिर FALSE OR TRUE का परिणाम सत्य होगा।
कंट्रोल फ्लो स्टेटमेण्ट (Control Flow Statement)
कंट्रोल फ्लो स्टेटमेण्ट जानने से पहले आइए हम जानते हैं कि स्टेटमेण्ट क्या है? स्टेटमेण्ट किसी प्रोग्रामिंग भाषा का सबसे छोटा अवयव होता है। इसका उपयोग प्रोग्राम एक्जिक्यूशन के दौरान किसी कार्य को सम्पन्न करने के लिए कम्प्यूटर को सूचित करने के लिए होता है। कंट्रोल फ्लो उस क्रम को कहते हैं जिस क्रम में स्टेटमेण्ट एक्जिक्यूट होता है। वैसे स्टेटमेण्ट जो प्रोग्राम में एक्जिक्यूशन के फ्लो को नियंत्रित करते हैं कंट्रोल फ्लो स्टेटमेण्ट कहलाते है। कंट्रोल फ्लो स्टेटमेण्ट को मूलतः दो प्रकार निर्णयन स्टेटमेण्ट तथा लूप स्टेटमेण्ट में बॉटा जा सकता है।
निर्णयन स्टेटमेण्टस (Decisions Statements)
सामान्य स्टेटमेण्ट में स्टेटमेण्टस प्रोग्राम में लिखे गये क्रम में एक के बाद एक के आधार पर एक्जिक्यूट होता है। परन्तु आवश्यकतानुसार कम्प्यूटर कुछ स्टेटमेण्टस के एक्जिक्यूशन क्रम को बदल सकता है। वैसे स्टेटमेण्टस जो एक्जिक्यूशन के क्रम को बदल दे निर्णयन स्टेटमेण्टस कहे जाते हैं। वी०बी० डॉट नेट में ऐसे कई स्टेटमेण्टस हैं जो किसी विशेष कंडिशन के आधार पर स्टेटमेण्ट को एक्ज़िक्यूट करता है। ये कंडिशन कुछ भी हो सकते हैं। इनमें बूलियन मान, उपयोगकर्ता द्वारा इनपुट किया गया मान तथा फंक्शन के द्वारा लौटाया गया मान हो सकता है।
इफ…एलस् स्टेटमेण्ट (If… Else Statement)
If… Else प्रोग्राम को किसी विशेष कार्य जिसमें शर्त या तो सत्य होता है या असत्य के आधार पर कार्य करने देता है। यह एक प्रकार से आपके प्रोग्राम में इंटेलिजेन्स (intelligence) को जोड़ता है जिसमें परिस्थिति के अनुसार विकल्पों में से किसी को चयन करना होता है। उदाहरणार्थ यदि मंगलवार है तो नमक ग्रहण नहीं करेंगे अन्यथा नमक ग्रहण करेंगे। यदि रविवार है तो यातायात बाधित नहीं होगा अन्यथा यातायात जाम रहेगा। इसका सिण्टैक्स इस प्रकार होगा –
If Condition then action1 Else action2 End If
अर्थात यदि कंडीशन सही मिलता है तो पहला कार्य संपन्न होगा नहीं तो दूसरा कार्य अवश्य पूरा होगा। यह कंडीशन हम अक्सर आम दिनों में भी रखते हैं। उदाहरण के तौर पर बारिश नहीं होगी तो क्रिक्रेट खेलेंगे नहीं तो शतरंज खेलेंगे। इसका स्यूडो कोड कुछ इस प्रकार होना चाहिए-
If… EIself… EIise कंट्रील स्टेटमेण्ट If … EIse का ही एक्स्टेंशन है। इसके माध्यम से आप EIseIf का प्रयोग कर दो या अधिक संभावित विकल्पों को जोड़ सकते हैं। इसका प्रारूप कुछ इस प्रकार होता है-
If Condition1 Then
Action1
Elself Condition2 Then
Action2
Elself Condition2 Then
Action3
Else End If
If… EIself… EIise ब्लोक में सबसे पहले सही कंडीशन का खोज होता है। सही कंडीशन मिलने पर उसके एक्शन को करता है तथा सही कंडीशन मिलने पर यह END IF तक के स्टेटमेण्ट तक आगे बढ़ता है। यदि कोई भी कंडीशन सम्पन्न नहीं होता है तब Else वाला एक्शन सम्पन्न होता है। इसके EIself क्लाठज (clause) कई हो सकते हैं तथा Else कलाउज वैकल्पिक होता है।
नेस्टेड If (Nested If )
नेस्टेड If ब्लॉक में एक If … End If के अंदर कई If … End If हो सकता है। इसीलिए इसे नेस्टेड If ब्लॉक कहा जाता है। इस ब्लॉक का उपयोग बहुत कम होता है क्योंकि यह थोड़ा जटिल है। इसका स्यूडोकोड इस प्रकार होगा –
If condition1 Then action If condition2 Then action End If
इस नेस्टेड If ब्लॉक के बदले आप साधारण If ब्लॉक का भी प्रयोग कर सकते ऐसा आप IF ब्लॉक में AND ऑपरेटर को जोड़ कर कर सकते हैं । इसका स्यूडोकोड इस प्रकार होगा –
If condition1 And condition2 Then action End If
सेलेक्ट केस (Select Case)
पिछले खण्ड में आपने पढ़ा कि If…Then का प्रयोग किस प्रकार विभिन्न कडिशन के लिए विभिन्न ब्लॉक को रन करने के लिए करते हैं। जबकि IF..Then स्टेटमेण्ट में ElseIf कीवर्ड का प्रयोग कर एक से अधिक कॉडशनों को इवैल्यूएट किया जा सकता है परन्तु Select Case स्टेटमेण्ट एक से अधिक कॉडशनो को इवैल्यूएट करने हेतू बेहतर विधि उपलब्ध कराता है।
Select Case का प्रयोग कर आप जितना चाहें उतने कंडिशनों को सहज रूप से उपयोग में ला सकते हैं जो उन स्थितियों में जहाँ कई विकल्प हैं को प्रयोग करना आसान बनाता है । Select Case ब्लॉक का सामान्य स्वरूप यह है-
Select Case Selector Case Valuelist1 action1 Case Valuelist 2 action2 Case Else Final action End Select
जहाँ Case Else तथा इसका एक्शन ऐच्छिक होता है तथा प्रत्येक मान सूची (Value list) एक या अधिक लिटरल, वेरियेबल, एक्सप्रेशन इत्यादि रखते है। प्रत्येक एक्शन एक या अधिक स्टेटमेंट पर बना होता है। सेलेक्टर के इवैल्यूएट होने के उपरांत वी० बी० डॉट नेट सबसे पहले वैल्यू लिस्ट को जाँचता है जिसमें सेलेक्टर का मान शामिल होता है तथा इससे संबंधित एक्शन क्रियान्वित होता है। यदि सेलेक्टर का मान दो अलग-अलग वैल्यू सूचियों में प्रदर्शित होता है तो केवल पहले वैल्यू लिस्ट के साथ संबंधित एक्शन क्रियान्वित होगा।
यदि सेलेक्टर का मान किसी भी वैल्यू लिस्ट में प्रकट नहीं होता तथा यदि कोई Case Else क्लाउज नहीं हो तो प्रोग्राम का क्रियान्वयन Select Case ब्लॉक के बाद आने वाले स्टेटमेण्ट के साथ चलेगा।
उदाहरण के लिए आपका प्रोग्राम रंग विकल्प को स्टोर करने के लिए स्ट्रिंग वेरिएबल का प्रयोग करते हैं तथा आपको रंग के मान को प्राप्त करने की आवश्यकता पडती है । इसके लिए आपको इस प्रकार Select Case स्टेटमेण्ट का प्रयोग करना होगा –
Select Case Color Case “red” MsgBox (“You selected red”) Case “blue” MsgBox(“You selected blue”) Case “green” MsgBox (“You selected green”) End Select
जब यह कोड रन हाकता है तो Select Case लाइन व्यंजक के मान (Color) को निर्धारित करता है। मान लें कि Color एक स्ट्रिंग वेरिएबल है और यह वेरिएबल मेथड के लिए एक वेरिएबल है जो Select Case स्टेटमेण्ट रखता है। ब्वसवत के मान को उसके बाद पहले बेंग स्टेटमेण्ट के साथ तुलना करता है । यदि मान मिल जाता है तो कोड का अगला लाइन रन होता है और उसके बाद म्दक मसमबज लाइन पर कोड चला जाता है ।
यदि मान नही मिलता है तो कोड के अगले Case लाइन को जाँचा जाता है। बेंम स्टेटमेण्ट के कई फॉर्म हो सकते हैं जैसे कि उपर के उदाहरण में यह स्ट्रिंग है । किन्तु यह कोइ थी डाटा टाइप या व्यंजक हो सकता है। आप संख्याओं की एक रेंज को ज्व की वर्ड का प्रयोग करके इवैल्यूएट कर सकते हैं । इस प्रकार – Case 1 To 10 इस उदाहरण में कोइ भी संख्या 1 से 10 के मध्य परिणाम को प्रकट करेगा। आप चाहें तो एक ही Case स्टेटमेण्ट में कई मानों का मूल्यांकन कर सकते हैं। इसके लिए प्रत्येक मान के बाद आप कौमा जोड़ें। इस प्रकार – Case “red”, “white”, “blue”
इस उदाहरण में तीनों मानों में कोई भी मान परिणाम देगा। आप केस स्टेटमेण्ट के साथ तुलनात्मक ऑपरेटर और रे की-वर्ड का प्रयोग कर भी मान को जाँच के लिए रख सकते हैं। इस प्रकार – Case Is > 9 इस उदाहरण में 9 से उपर कोई भी मान परिणाम देगा।
आओ सीखें–
उदाहरण-1 : एक विण्डोज प्रोग्राम लिखें जिसमें Select Case का प्रयोग करके महीनों के नाम इनपुट करने पर वह यह बताए कि उस महीने में कितने दिन होते हैं।
समाधान :
File मेन्यू को क्लिक करें तथा New Project का चयन करें।
New Project डायलॉग बॉक्स खुलने के पश्चात Templates पेन Windows Application को क्लिक करें।
Name टेक्स्टबॉक्स में My Project टाइप करें तथा OK को क्लिक करें । उसके बाद एक नया विण्डोज फॉर्मस प्रोजेक्ट खुलेगा।
फॉर्म पर प्रश्न में दिए गए विवरण के अनुसार टूलबॉक्स से कंट्रोल को जोड़ें। तथा प्रश्नानुसार उनके प्रॉपर्टी को सेट करें तथा चित्रानुसार उनहें सजाएँ।
Find Days In A Month बटन को दो बार क्लिक करें और btnFind_Click इवेण्ट हैण्डलर के लिए निम्नलिखित कोड लिखें-
Private Sub Button1 Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1. Click Dim month As String month = TextBox1.Text TextBox2.Text = month. ToUpper & ” has ” & TotalDays (month) & ” days.” End Sub
Function TotalDays(ByVal month As String) As Integer Select Case month.ToUpper
Case “JANUARY” Return 31 Case “FEBRUARY” Return 28 Case “MARCH” Return 31 Case “APRIL” Return 30 Case “MAY” Return 31 Case “JUNE” Return 30 Case “JULY” Return 31 Case “AUGUST” Return 31 Case “SEPTEMBER” Return 30 Case “OCTOBER” Return 31 Case “NOVEMBER” Return 30 Case “DECEMBER” Return 31
End Select End Function
F5 दबायें तथा परिणाम को जाँचें।
इसके दूसरे भाग को हम इस प्रकार भी लिख सकते है।
Select Case Month Case “FEBRUARY” Return 28
Case “JANUARY”, “MARCH”, “MAY”, “JULY”, “AUGUST”, “OCTOBER”, “DECEMBER” Return 31 Case “APRIL”, “JUNE”, “SEPTEMBER”, “NOVEMBER” End Select
उदाहरण-2 : एक विण्डोज प्रोग्राम लिखें जिसमें Select Case का उपयोग हुआ हो तथा आपके द्वारा देश का इनपुट किये जाने पर वहाँ का राष्ट्रीय खेल परिणामस्वरूप प्रदर्शित करें।
समाधान :
File मेन्यू को क्लिक करें तथा New Project का चयन करें ।
New Project डायलॉग बॉक्स खुलने के पश्चात Templates पेन में Windows Application को क्लिक करें ।
Name टेक्स्टबॉक्स में My Project टाइप करें तथा OK को क्लिक करें । उसके बाद एक नया विण्डोज फॉर्मस प्रोजेक्ट खुलेगा।
फॉर्म पर प्रश्न में दिए गए विवरण के अनुसार टूलबॉक्स से कंट्रोल को जोड़ें । तथा प्रश्नानुसार उनके प्रॉपर्टी को सेट करें तथा उनहें सजाएँ ।
Show National Game बटन को दो बार क्लिक करें और btnShow_Click इवेण्ट हैण्डलर के लिए निम्नलिखित कोड लिखें-
Private Sub Button1_Click(ByVal sender As System. Object, ByVal e As System.EventArgs) Handles Button1.Click Dim country As String country = txtCountry.Text.ToUpper txtResult.Text = NameOfSports(country) End Sub
Function NameOfSports(ByVal country As String) As String
Select Case country Case “INDIA” Return “Hockey” Case “AUSTRALIA” Return “Cricket” Case “SPAIN” Return “Bull Fighting” Case “AMERICA” Return Base Ball” Case “JAPAN” Return ” Judo “ Case “RUSSIA” Return “Rugby” Case Else Return “Sorry this country does not exist in our database.” End Select
End Function
आज आपने क्या सीखा (What Did You Learn Today)
प्रोग्रामिंग भाषा पूर्णतः प्राकृतिक भाषा से प्रेरित होता है। और प्रोग्राम आपके नित्य प्रतिदिन के कार्यों से अलग नहीं होता है। आप जो भी प्रातःकाल से संध्या तक करते हैं वह एक तरह का प्रोग्राम ही होता है। इस प्रोग्राम के दौरान कुछ तो काम आप रूटीन के हिसाब से क्रम में करते रहते हैं तथा कुछ काम परिस्थिति के अनुसार करते हैं।
लॉजिकल ऑपरेटर्स लॉजिक गेटस की तरह होते है जो परिणाम के रूप में केवल बूलियन मान ही लौटाते है। बूलियन मान का अर्थ सत्य या 1 तथा असत्य या 0 होता है। लॉजिकल ऑपरेटर्स लॉजिकल ऑपरेशन को पूरा करते हैं।
Not ऑपरेटर में एक ही ऑपरेण्ड होता है। इस Not ऑपरेटर का परिणाम सत्य या असत्य हो सकता है । इसका परिणाम तब सत्य होगा जब ऑपरेण्ड असत्य होगा तथा यह असत्य होगा जब ऑपरेण्ड सत्य होगा ।
And ऑपरेटर में मूलतः दो ऑपरेण्ड होते हैं। तथा इसमें यदि दोनों ऑपरेण्ड सत्य हैं तो परिणाम भी सत्य होगा। यदि दोनों में कोई भी ऑपरेण्ड असत्य होगा तो परिणाम असत्य ही होगा।
OR ऑपरेटर में भी And की भाँति मूलतः दो ही ऑपरेण्ड होते हैं। और यह कुछ स्थितियों में And ऑपरेटर के ठीक विपरीत परिणाम देता है। यदि दोनों ऑपरेण्ड असत्य है तो यह भी And की तरह ही असत्य परिणाम देता है। परन्तु यदि दोनों में कोई भी ऑपरेण्ड सत्य है तो यह And के विपरीत परिणाम सत्य ही देगा।
XOR ऑपरेटर में भी मूलतः दो ऑपरेण्ड होते है। इसका पूर्ण रूप एक्स्क्लूसिव OR (eXclusive OR) होता है। इसमें यदि दोनों ऑपरेण्ड सत्य है तो परिणाम असत्य होगा। और यदि दोनों ऑपरेण्ड असत्य है तो परिणाम असत्य होगा। साथ ही दोनों में से कोई भी ऑपरेण्ड के सत्य होने पर परिणाम सत्य ही होगा।
प्रिसिडेन्स का अर्थ होता है कि यदि एक से अधिक ऑपरेटर के समायोजन से कोई स्टेटमेण्ट बनता है तो कौन सा ऑपरेटर पहले कार्य करेगा।
स्टेटमेण्ट किसी प्रोग्रामिंग भाषा का सबसे छोटा अवयव होता है। इसका उपयोग प्रोग्राम एक्जिक्यूशन के दौरान किसी कार्य को सम्पन्न करने लिए कम्प्यूटर को सूचित करने के लिए होता है।
कंट्रोल फ्लो उस क्रम को कहते हैं जिस क्रम में स्टेटमेण्ट एक्जिक्यूट होता है। वैसे स्टेटमेण्ट जो प्रोग्राम में एक्जिक्यूशन के फ्लो को नियंत्रित करते हैं कंट्रोल फ्लो स्टेटमेण्ट कहलाते है।
कंट्रोल फ्लो स्टेटमेण्ट को मूलतः दो प्रकार निर्णयन स्टेटमेण्ट तथा लूप स्टेटमेण्ट में बांटा जा सकता है। If… Else प्रोग्राम को किसी विशेष कार्य जिसमें शर्त या तो सत्य होता है या असत्य के आधार पर कार्य करने देता है। यह एक प्रकार से आपके प्रोग्राम में इंटेलिजेन्स (intelligence) को जोड़ता है जिसमें परिस्थिति के अनुसार विकल्पों में से किसी को चयन करना होता है।
If … ElseIf … Else कंट्रोल स्टेटमेण्ट If … Else का ही एक्स्टेंशन है। इसके माध्यम से आप ElseIf का प्रयोग कर दो या अधिक संभावित विकल्पों को जोड़ सकते हैं।
नेस्टेड If ब्लॉक में एक If … End If के अंदर कई If … End If हो सकता है । इसीलिए इसे नेस्टेड If ब्लॉक कहा जाता है । इस ब्लॉक का उपयोग बहुत कम होता है क्योंकि यह थोड़ा जटिल है
नेस्टेड If ब्लॉक के बदले आप साधारण If ब्लॉक का भी प्रयोग कर सकते हैं । ऐसा आप If ब्लॉक में AND ऑपरेटर को जोड़ कर कर सकते हैं ।
Select Case का प्रयोग कर आप जितना चाहें उतने कंडिशनों को सहज रूप से उपयोग में ला सकते हैं जो उन स्थितियों में जहाँ कई विकल्प हैं को प्रयोग करना आसान बनाता है ।
कम्प्यूटर की प्रोग्रामिंग भाषा क्या होता है – कम्प्यूटर की प्रोग्रामिंग भाषा पार्ट-2 | प्रोग्रामिंग भाषा क्या है इसके प्रकार | Computer Programming Language In Hindi
कम्प्यूटर की प्रोग्रामिंग भाषा पार्ट-2 परिचय (Introduction) – किसी भी प्राकृतिक भाषा या आम बोल-चाल की भाषा में वर्ण, शब्द, वाक्यांश, वाक्य के अतिरिक्त एक विशेष व्याकरण होता है। व्याकरण हमें भाषा को शुद्ध बोलना और उसकी लिपि को लिखना सीखाता है। ठीक उसी प्रकार कम्प्यूटर की प्रोग्रामिंग भाषा के अपने वर्ण, शब्द, वाक्यांश तथा व्याकरण होते हैं। प्रोग्राम लिखते समय इन चीजों का ख्याल रखना अत्यंत आवश्यक होता है। आइये जानते हैं इस आर्टिकल कम्प्यूटर की प्रोग्रामिंग भाषा पार्ट-2 में |
ऐरे (Arrays)
वेरियेबल के बारे मेंआपने पीछे पढ़ा होगा। वेरियेबल किसी एक मान को असाइन करने वाला एक नाम है। इस प्रकार- Dim Student As String एक Student नाम का वेरियेबल प्रोग्राम में मान लिया गया, जो स्ट्रिंग टाइप का है। अब मान लें कि आपको किसी विद्यालय के विभिन्न कक्षाओं का अंक-पत्र (Marksheet) निकालना है। एक कक्षा में 50 विद्यार्थी हैं, जिसे वेरियेबल के हिसाब से उपयोग में लाने का एक ही तरीका है और वह यह है-
Dim Student1 As String Dim Student2 As String Dim Student3 As String Dim Student4 As String Dim Student5 As String
अब समझ लिजिए कि संख्या और बडी रही, तो क्या मुसीबत आ सकती है। 50 विद्यार्थी का अलग-अलग वेरियेबल और अलग-अलग वेरियेबल पर अलग से प्रोसेस कितना दुखदायी हो सकता है। तो क्या कोई ऐसा उपाय है कि 50 विद्यार्थियों के वेरियेबल को एक ही बार डिक्लेअर कर दिया जाए। हाँ है, एक उपाय! इसे ऐरे इस प्रकार से कर सकते हैं- Dim Student (50) As String
उपरोक्त स्टेटमेण्ट ऐरे डिक्लेअरेशन स्टेटमेण्ट है। तो ऐरे क्या है? ऐरे की परिभाषा यह है- ऐरे एक ऐसा डाटा स्ट्रक्चर है, जो एक ही प्रकार के डाटा के वेरियेबलों का संकलन है। अर्थात् ऐरे में एक ही प्रकार के एक से अधिक मानों को समाया जा सकता है। इसे इंटीजर, डबल, स्ट्रिंग वेरियेबल का सेट भी कहा जा सकता है। ऐरे में एक से अधिक मान समाहित होने के बावजूद इसका नाम एक ही होता है। इनके मानों को इनके इंडेक्स वैल्यू से एक्सेस किया जाता है। वी.बी. डॉट नेट में ऐरे इंडेक्स 0 से आरम्भ होता है।
ऐरे से संबंधित तथ्य :
ऐरे एक डाटा स्ट्रक्चर है, जो एक ही प्रकार के एक से अधिक वेरियेबल का संकलन है।
ऐरे का एक ही नाम होता है।
ऐरे के एलिमेण्ट (अवयव) की गिनती 0 से शुरू होती है। अर्थात् ऐरे संकलन का पहला वेरियेबल Variable (0) होगा न कि ऐरे Variable (1)।
प्रत्येक वेरियेबल के ब्रैकेट के अंदर की संख्या सब्स्क्रीप्ट कही जाती है।
ऐरे का प्रत्येक वेरियेबल सब्स्क्रप्टेड वेरियेबल (subscripted variable) कहलाता है।
हम शायद ही Student (0) उपयोग करते हैं। हम वेरियेबल के इन संकलन को ऐरे वेरियेबल Student (0) की भाति निर्दिष्ट करते हैं। प्रत्येक अलग-अलग वेरियेबल के ब्रैकेट के अंदर की संख्या सबस्क्रिप्ट (subscript) कही जाती है। तथा प्रत्येक वेरियेबल (या ऐरे का प्रत्येक एलिमेण्ट) सबस्क्रिप्टेड वेरियेबल या एलिमेण्ट कहा जाता है। उदाहरणार्थ, Student (3) ऐरे Student ) का तीसरा सबस्क्रिप्टेड वेरियेबल है। ऐरे के एलिमेण्ट (अवयव) को उनके क्रम के अनुसार मेमोरी में भी स्थान मिलता है।
यदि arrayName ऐरे का नाम है तथा n इंटिजरल लिटरल, वेरियेबल अथवा एक्स्प्रेशन है, तो डिक्लेअरेशन स्टेटमेण्ट –
Dim arrayName (n) As VarType
array Name (0), array Name (1), array Name (2), arrayName (n) सब्स्क्रप्टेड वेरियेबलों के मानों को रखने के लिए मेमोरी में स्थान सुरक्षित करता है। n का मान ऐरे की अधिकतम सीमा (upper bound) कही जाती है। ऐरे का लोअर बाउण्ड (lower bound) हमेशा 0 होता है। ऐरे में एलिमेण्ट की संख्या n+1 ऐरे का आकार होता है ।
अलग-अलग सबस्क्रिप्टिड वेरियेबलों को असाइनमेण्ट स्टेटमेण्ट के साथ वैल्यू असाइन किये जा सकते हैं तथा टेक्स्ट बॉक्स तथा लिस्ट बॉक्स में इनहें सामान्य वेरियेबलों के मानों की भांति ही डिस्प्ले किया जा सकता है। ऐरे के बारे में आपने जाना कि ऐरे एक समान डाटा के ही वेरियेबल का संकलन है। किन्तु यदि ऐसी स्थिति आ जाय कि आप ऐरे से विभिन्न प्रकार के डाटा के वेरियेबल को संचित करना चाहे तो? इसका भी उपाय वी.बी. डॉट नेट में हैं। आप डाटा टाइप Object घोषित कर यह कार्य कर सकते हैं। इस प्रकार- Dim Student As object
कम्प्यूटर की प्रोग्रामिंग भाषा पार्ट-2 | ऐरे का वर्णन करें- ऐरे कितने प्रकार का होता है
ऐरे के प्रकार (Types of Array)
ऐरे मुख्यतः चार प्रकार के हो सकते हैं :
एक-विमीय ऐरे (Single dimensional array)
बहु-विमीय ऐरे (Multi-dimensional array)
डायनामिक ऐरे (Dynamic array)
जैगूड ऐरे (Jagged array)
1- एक-विमीय ऐरे (Single Dimensional Array)
एक-विमीय ऐरे (Single Dimensional Array) – अभी तक पीछे जो भी चर्चा हुई वह सब एक-विमीय ऐरे पर ही केन्द्रित थी। एक-विमीय ऐरे उस तालिका की तरह होता है जिसमें केवल एक कॉलम होता है।
Student (0)
Student (1)
Student (2)
Student (3)
Student (4)
एक-विमीय ऐरे – ऐरे में स्टोर आइटमों की संख्या को पंक्तियों की संख्या के रूप में समझा जा सकता है। एक-विमीय ऐरे में आप एक ही इंडेक्स उदाहरण के लिए, विद्यार्थियों के नाम का उपयोग कर सूचना को स्टोर कर सकते हैं।
एक-विमीय ऐरे को बनाना तथा उनका मान रखना (Creating Single Dimensional Array and Putting Values on them) – एक-विमीय ऐरे को बनाने के लिए आप ऐरे का नाम, आकार तथा डाटा टाइप देते हैं। ऐरे को डिक्लेअर करने के लिए वेरियेबल डिक्लेअरेशन की भांति ही Dim की-वर्ड का उपयोग होता है। उदाहरण के लिए, 50 विद्यार्थियों के संकलन वाले एक ऐरे को बनाने के लिए निम्नलिखित स्टेटमेण्ट का उपयोग होगा-
Dim Student (49) String उपरोक्त स्टेटमेण्ट Student ) ऐरे का निर्माण करेगा जिसका डाटा टाइप स्ट्रिंग होगा तथा इसका आकार 49 होगा। परन्तु, इस ऐरे में 50 विद्यार्थियों का मान संकलन करेंगे। क्योंकि जैसाकि बताया जा चुका है इंडेक्स 0 से शुरू होगा। अब ऐरे के एलिमेण्ट मान को असाइन करने के लिए उस मान के साथ इंडेक्स लोकेशन को स्पष्ट करते हैं। इस प्रकार- Student (0) = “Rama” Student (1) = “John” Student (2) = “Alisha”
अब हम किसी एलिमेण्ट को एक्सेस करने के लिए उस इंडेक्स का रिफ्रेन्स देकर कभी भी एक्सेस कर सकते हैं। इसे इस प्रकार कर सकते हैं- TextBox1. Text = Student ( 1 ) उपरोक्त स्टेटमेन्ट Student (1) के मान को टेक्स्ट बॉक्स में डिस्प्ले करेगा।
2- बहु-विमीय ऐरे (Multi-Dimensional Array)
बहु-विमीय ऐरे (Multi-Dimensional Array) – ऐरे की विमा ( dimension) मुख्य रूप से इसके इंडेक्स पर निर्भर करता है। इंडेक्स ऐरे के ब्रैकेट के अंदर की संख्या को कहते हैं। एक इंडेक्स वाले ऐरे एक-विमीय होते हैं, ठीक उसी प्रकार एक से अधिक इंडेक्स वाले ऐरे बहु-विमीय ऐरे (multi-dimensional) कहे जाते हैं। बहु-विमीय ऐरे वैसे तालिका की तरह होता है जिसमें दो या अधिक कॉलम होते हैं।
सामान्यतः जब हम बहु-विमीय ऐरे की बात करते हैं तो हम द्वि-विमीय की बात कर रहे होते हैं । इसका प्रत्येक कॉलम एलिमेन्ट के एक फीचर को व्यक्त करता है। बहु-विमीय ऐरे का प्रत्येक एलिमेन्ट इससे जुड़े दो इंडेक्स रखता है। जहाँ एक इंडेक्स ऐरे के पंक्ति को तथा दूसरा इंडेक्स ऐरे के कॉलम को व्यक्त करता है।
(0,0)
(0,1)
(0,2)
(0,3)
(0,4)
(1,0)
(1,1)
(1,2)
(1,3)
(1,4)
(2,0)
(2,1)
(2,2)
(2,3)
(2,4)
(3,0)
(3,1)
(3,2)
(3,3)
(3,4)
इसका प्रारूप इस प्रकार होता है- Dim 2DArray (rows, columns) As DataType
इसी प्रकार आप इस प्रारूप से त्रि-विमीय ऐरे का निर्माण कर सकते हैं- Dim 3DArray (X, Y, Z) As DataType
बहु-विमीय ऐरे के उपयोग के साथ ही प्रत्येक ऐरे एलिमेण्ट डाटा को रखने के लिए मेमोरी में स्थान घेरता है चाहे डाटा शून्य हो या फिर रिक्त स्ट्रिंग। परिणामस्वरूप बहु-विमीय ऐरे बिना उपयोगिता के भी मेमोरी में स्थान ले लेते हैं। अतः यह सुझाव है कि बहु-विमीय ऐरे का उपयोग समझ कर करें।
3- जैगूड ऐरे (Jagged Arrays )
बी.बी. डॉट नेट एक ऐसा ऐरे भी उपलब्ध कराता है जिसका प्रत्येक एलिमेण्ट एक ऐरे है। इस ऐरे को जैगूड ऐरे या ऐरे का का ऐरे (Array of arrays) कहते हैं। जैग्ड ऐरे एक-विमीय या बहु-विमीय हो सकता है साथ ही इसके एलिमेण्ट भी एक-विमीय तथा बहु-विमीय हो सकते हैं।
नोट: ऐरे को एलिमेण्ट के रूप में रखना बहु-विमीय ऐरे की तरह की बात नहीं है। बहु-विमीय में एक ही ऐरे पर एक से अधिक इंडेक्स होते हैं।
कभी-कभी आपके एप्लीकेशन में डाटा स्ट्रक्चर द्वि-विमीय होते हैं, परन्तु आयताकार नहीं होते हैं। उदाहरण के लिए, आप months ऐरे ले सकते हैं जिसका प्रत्येक एलिमेन्ट days का ऐरे है। चुकि अलग-अलग महीनों के दिनों की संख्या भिन्न हो सकती है इसलिए एलिमेण्ट आयताकार द्वि-विमीय ऐरे नहीं बना पाते। इस स्थिति में आप बहु-विमीय ऐरे की जगह पर जैगूड ऐरे का उपयोग करते हैं।
निम्नलिखित उदाहरण Double डाटा टाइप वाले एलिमेण्ट का जैण्ड ऐरे रखने के लिए एक ऐरे डिक्लेअर करता है। Sales ) ऐरे का प्रत्येक अवयव स्वयं ही एक ऐरे है, जो महीने को व्यक्त करता है। प्रत्येक month) ऐरे उस महीने के प्रत्येक दिन के लिए मानों को रखता है।
Dim Sales () () As Double = New Double (11) ) {} Dim month As Integer Dim days As Integer For month = 0 to 11 days = DateTime. DaysInMonth (Year (Now), month + 1) Sales (month) = New Double (days –1) {} Next month
Sales के डिक्लेअरेशन में New क्लाउज ऐरे को 12 अवयव (एलिमेण्ट) ऐरे सेट करता है। जिसका प्रत्येक अवयव Double टाइप का है। For लूप में (Year (Now)) यह निर्धारित करता है कि प्रत्येक महीना कितने दिनों का है तथा Sales के आने वाले अवयव को उपयुक्त आकार के Double ऐरे में सेट करता है। इस उदाहरण में, जैगड ऐरे द्वि-विमीय ऐरे की तुलना में सात अवयव (लीप वर्ष में 6) की बचत करता है। जटिल स्थिति में इससे मेमोरी की और अधिक बचत हो सकती है।
4- डायनामिक ऐरे (Dynamic Array)
जब जब आप ऐरे को बनाते हैं तब तब आप इसे इनिशियलाइज़ करते हैं। आप इंडेक्स संख्या का प्रयोग कर ऐरे को इनिशियलाइज़ करते हैं। कुछ ऐरे में, अवयवों की संख्या इसके निर्माण के साथ मालूम नहीं होती है। जब ऐसा होता है तब हम ऐरे का आकार बाद में स्पष्ट कर सकते हैं। ऐसे ऐरे को डायनामिक ऐरे कहते हैं। उदाहरणार्थ DynArray नामक ऐरे जिसका आकार निर्माण के समय स्पष्ट नहीं है। इस प्रकार- Dim dynArray() As Integer
जिसका आकार हम बाद में ReDim कमाण्ड के माध्यम से सेट करते हैं। इस प्रकार- ReDim dynArray(n) As Integer जहाँ n dynArray का आकार है।
कंट्रोल ऐरे (Control Array)
हमने ऐरे अथवा सबस्क्रिप्टेड वेरियेबल की उपयोगिता के कई उदाहरण देखें। ये कई प्रोग्रामिंग समस्याओं के संक्षिप्त समाधान लिखने के लिए आवश्यक है। सबस्क्रिप्टेड वेरियेबल द्वारा प्रदान किये जाने वाले उपयोगिता के कारण वी.बी. डॉट नेट लेबल, टेक्स्टबॉक्स और बटन के लिए भी ऐरे प्रदान करते हैं। चूंकि लेबल, टेक्स्टबॉक्स और बटन वी. बी. डॉट नेट में सामान्यतः कंट्रोल समझे जाते हैं, इन ऑब्जेक्ट के ऐरे को कंट्रोल ऐरे कहा जाता है।
कंट्रोल ऐरे को भी उसी तरह बनाया जाता है जिस प्रकार हम अन्य ऐरे बनाते हैं। इस प्रकार- Dim arrayName (n) As ControlType अथवा, Dim arrayName() As ControlType उदाहरण के लिए निम्नलिखित तीन स्टेटमेन्ट क्रमशः लेबल, टेक्स्टबॉक्स और बटन के कंट्रोल ऐरे बनाते हैं- Dim lblTitle (10) As Label Dim txtNumber (8) As TextBox Dim btrArront() As Button अंतिम स्टेटमेन्ट में सबस्क्रिप्ट/इंडेक्स नहीं दिया गया है।
स्ट्रक्चर (Structures)
Double, Integer, String तथा Boolean जैसे डाटा टाइप के साथ आप पहले ही कार्य कर चुके हैं। Structure एक ऐसा डाटा टाइप है जी आपको विभिन्न प्रकार के वेरियेबलों को यूनिट के रूप में रखने में सहायता करता है। इसे अन्य प्रोग्रामिंग भाषाओं में हम यूजर परिभाषित टाइप (User Defined Type) के नाम से जानते हैं। उदाहरणार्थ Country से संबंधित Name, Capital, Population, NumberOfStates तथा PerCapitaIncome चार सूचनाएँ हैं। स्ट्रक्चर टाइप में India में हम इन चारों सूचनाओं को इस प्रकार मान सकते हैं-
Structure Country Dim Name As String Dim Capital As String Dim Poulation As Integer Dim NumberOfStates As Integer Dim PerCapitaIncome As Double
End Structure
स्ट्रक्चर टाइप Country के चार उप-वेरियेबल इस टाइप के मेम्बर हैं। Country टाइप के स्ट्रक्चर वेरियेबल को स्टेटमेन्ट के द्वारा इस प्रकार डिक्लेअर कर सकते हैं- Dim Country1 As Country प्रत्येक मेम्बर को स्ट्रक्चर वेरियेबल का नाम तथा मेम्बर तथा इन दोनों के मध्य एक पिरियड (.) देकर एक्सेस कर सकते हैं। उदाहरणार्थ Country1 स्ट्रक्चर वेरियेबल के पांचों मेम्बर को Country1.Name, Country1.Capital, Country1.Poputation, Country 1.NumberOfStates तथा Country 1.PerCapitaIncome के द्वारा एक्सेस किये जा सकते हैं। सामन्य रूप से, फॉर्म के Structure ब्लॉक द्वारा स्ट्रक्चर टाइप को परिभाषित किया जाता है। इस प्रकार-
Structure Structure Type Dim MemberName1 As MemberType1
Dim MemberName2 As MemberType2 End Structure
जहाँ Structure Type यूजर परिभाषित डाटा टाइप का नाम है। MemberName1, MemberName2, स्ट्रक्चर के मेम्बर के नाम हैं। तथा MemberType1, MemberType2 इनके संबंधित डाटा टाइप हैं।
सबरूटीन (Subroutine)
फॉर्म पर जब आप किसी बटन को दो-बार क्लिक करते हैं, तो कोड एडिटर खुलने पर इसका Click इवेण्ट प्रदर्शित होता है, जो कुछ इस प्रकार से आरम्भ तथा समाप्त होता है- Private Sub…. End Sub
यहाँ Sub वस्तुतः subroutine का संक्षिप्त रूप है। इसका अर्थ यह है कि जब-जब आप बटन को क्लिक करते हैं यह रूटीन एक्जिक्यूट होता है। इस प्रकार का सबरूटीन आप स्वयं भी बना सकते हैं। ऐसा करने पर आप के एप्लीकेशन का दूसरा कोड आवश्यकता होने पर उस सबरूटीन को कॉल कर सकता है। सब रूटीन का लाभ यह है कि जिस कार्य के लिए आपने सबरूटीन बनाया है उस कार्य को सम्पन्न करने के लिए उस एप्लीकेशन में कहीं भी Call की-वर्ड का प्रयोग कर कॉल कर सकते हैं यद्यपि Call की-वर्ड का उपयोग ऐच्छिक है । केवल सबरूटीन का नाम भी कार्य करेगा।
फंक्शन (Function)
वी.बी. डॉट नेट में पहले से कई फंक्शन मौजूद हैं जिन्हें परिशिष्ट अ में देखा जा सकता है। फंक्शन वस्तुतः छोटे प्रोग्राम ही होते हैं। वे इनपुट लेते हैं उन्हें प्रोसेस करते हैं तथा आप को आउटपुट लौटाते हैं। वी.बी. डॉट नेट में पूर्व-निर्मित फंक्शन उपयोग करने के अतिरिक्त हम अपना फंक्शन भी परिभाषित कर सकते हैं। ये फंक्शन फक्शन प्रोग्राम या यूजर परिभाषित फंक्शन कहे जाते हैं।
इन्हें ठीक उसी प्रकार परिभाषित किया जाता है जिस प्रकार हम सबरूटीन को परिभाषित करते हैं। तथा इन्हें पूर्व-निर्मित फंक्शन की तरह ही उपयोग किये जाते हैं। फंक्शन प्रोसीजर को ठीक उसी प्रकार एक्सप्रेशन में उपयोग किया जा सकता है जिस प्रकार वी.बी. डॉट नेट के मूल फंक्शनों का उपयोग होता है। प्रोग्राम इन फंक्शनों को लिटरल, वेरियेबल अथवा एक्सप्रेशन की तरह रेफर करता है। फंक्शन बनाने की यह विधि है-
Function FunctionName (By Val Var1 As Type1, ByVal Var2 As Type2) As DataType Statement (s) Return expression End Function
सबसे पहली पंक्ति में प्रकट हो रहे वेरियेबल पैरामीटर (parameters) कहे जाते हैं। फंक्शन ब्लॉक के अंदर स्टेटमेण्ट द्वारा डिक्लेअर वेरियेबल केवल उस ब्लॉक में ही एक्सेसेबल होते हैं। फंक्शन का नाम रखने की कोई सीमा नहीं है परन्तु अच्छा यह है कि इसका नाम इसके द्वारा किये जाने वाले कार्य की ओर इंगित करे। इसके नामकरण के सभी नियम वही हैं, जो वेरियेबल का नाम रखने में होते हैं।
DataType आउटपुट के प्रकार को स्पष्ट करता है, जो String, Integer, Double इत्यादि हो सकता है। सबरूटीन या सब प्रोसीजर की तरह फंक्शन प्रोसीजर भी कोड विण्डो में ही लिखे जाते हैं। फंक्शन में पास किये जाने वाले वेरियेबल मान द्वारा पास किये जाते हैं। किन्तु इसे रेफ्रेन्स द्वारा भी पास किये जा सकते हैं। जब ये वेरियेबल रेफ्रेन्स द्वारा पास किये जाते हैं, तो इनके मान में भी बदलाव सम्भव होता है। यहाँ हम दो फंक्शन FtoC तथा FirstName परिभाषित कर रहे हैं ।
Function FtoC (ByVal t As Double) As Double Return (5/9) * (t-32) // फॉरेनहाइट को सेल्सियस में बदलता है। End Function
यह फंक्शन फॉरेनहाइट को सेल्सियस में बदलता है। FirstName फंक्शन पूरे नाम से केवल नाम के पहले भाग को अलग करता है। Function FirstName (ByVal Name As String) As String Dim FirstSpace As String FirstSpace = name.Index Of (” “) Return name. Substring (0, FirstSpace) End Functon
आज आपने क्या सीखा (What Did You Learn Today)
किसी भी प्राकृतिक भाषा या आम बोल-चाल की भाषा में वर्ण, शब्द, वाक्यांश, वाक्य के अतिरिक्त एक विशेष व्याकरण होता है। व्याकरण हमें भाषा को शुद्ध बोलना और उसकी लिपि को लिखना सीखाता है। ठीक उसी प्रकार कम्प्यूटर की प्रोग्रामिंग भाषा के अपने वर्ण, शब्द, वाक्यांश तथा व्याकरण होते हैं। प्रोग्राम लिखते समय इन चीजों का ख्याल रखना अत्यंत आवश्यक होता है।
वेरियेबल का शब्दिक अर्थ चर मतलब वैसा कुछ जो हमेशा बदलता हो, होता है।
वेरियेबल प्रोग्राम से संबंधित सूचना का ऐसा धारक होता है, जो एक या अधिक मानों को संचित कर सकता है। जब कभी आपको प्रोग्राम में उपयोग किये जा रहे किसी सूचना को स्टोर करना होता है आप उसे वेरियेबल के रूप में एक नाम दे सकते हैं।
वेरियेबल प्रोग्राम के क्रियान्वयन के दौरान मानों को स्टोर करते हैं। विजुअल बेसिक डॉट नेट में रनटाइम (क्रियान्वयन) वेरियेबल का उपयोग डाटा को अस्थायी रूप से संचित करने में होता है।
वेरियेबल का एक खास नाम तथा इसका डाटा एक खास प्रकार का होता है। वेरियेबल के नाम का उपयोग वेरियेबल के मान को एक्सेस करने तथा मनिप्यूलेट करने में होता है।
किसी भी वेरियेबल के नाम की शुरूआत किसी वर्ण के साथ अच्छा समझा जाता है। यद्यपि यदि आप वेरियेबल के नाम की शुरूआत किसी अंडरस्कोर () के साथ करते हैं, तो भी यह मान्य है, परन्तु यह अनुशंसित नहीं है।
वेरियेबल के नाम में एल्फाबेट, न्यूमेरिक तथा अंडरस्कोर के अतिरिक्त विशेष अक्षर के नाम में श्वेत स्थान (white space) भी मान्य नहीं है।
वेरियेबल के नाम में पास्कल केसिंग का उपयोग अच्छा समझा जाता है। हालांकि अनेक प्रोग्रामर कैमल केसिंग का भी प्रयोग करते हैं। EmpFirstName पास्कल केसिंग का उदाहरण है।
वेरियेबल का नाम ज्यादा लम्बा अनावश्यक रूप से प्रचलन में नहीं है।
वेरियेबल का नाम वी.बी. डॉट नेट का कोई आरक्षित शब्द अर्थात् की-वर्ड नहीं होना चाहिए।
वेरियेबल नामकरण नियम का सार यह है कि प्रोग्रामिंग के क्रियान्वयन के दौरान वेरियेबल का नाम आपको भ्रमित न करे तथा क्रियान्वयन त्रुटि रहित हो।
वेरियेबल को डिक्लेअर करने का अर्थ है कि वेरियेबल का नाम क्या होगा तथा उसके डाटा का प्रकार क्या होगा विजुअल बेसिक डॉट नेट में वेरियेबल को डिक्लेअर करने के लिए, Dlm की-वर्ड का उपयोग होता है।
मेमोरी प्रबंधन के साथ ही प्रोग्राम को डिबग करना आसान बनाने के लिए आवश्यक है कि आप रिल डाटा प्रकार को सावधानी के साथ डिक्लेअर करें।
वैज्ञानिक नोटेशन में B 10 के घात को व्यक्त करता है। अतः 1.10B+2 का अर्थ 1.10 X 102 या 110 तथा 1.10E-2 का अर्थ 1.10 / 102 या 0.0110 होगा ।
बी.बी. डॉट नेट में मुद्रा डाटा टाइप बी.बी. 6 की तरह उपलब्ध नहीं है। इसमें आप Decimal डाय यह का प्रयोग मुद्रा को असाइन करने के लिए करते हैं।
वी.बी. डॉट नेट में डाटा के प्रकार को डिक्लेअर करने का एक अनोखा तरीका है। इसे आइडेन्टिफायर म कैरैक्टर कहते हैं ।
माइकोसॉफट डिज़ायन नियमावली के अनुसार फील्ड के नाम कैमल केसिंग में तथा प्रॉपर्टी के नाम पास्कल केसिंग में लिखना प्रचलन में है। पास्कल केस में आइडेन्टिफायर का प्रत्येक शब्द का प्रथम वर्ण बड़ा होता है तथा कैमल केस मेंप्रत्येक शब्द का प्रथम वर्ण छोटा होता है । EmpName पास्कल केसिंग तथा empName कैमल कीसंग का उदाहरण है ।
OPTION EXPLICIT स्टेटमेण्ट यह सुनिश्चित करता है कि कम्पाइलर को स्पष्ट रूप से सभी वेरियेबल को प्रोग्राम में उपयोग करने से पहले डिक्लेअर करने की आवश्यकता है अथवा नहीं ।
OPTION EXPLICIT का दो मोड ON या OFF होता है। यदि OPTION EXPLICIT ऑन मोड में है तो आपको वेरिएबल को प्रोग्राम में उपयोग करने से पहले उनहें डिक्लेअर करना आवश्यक होगा ।
बाई डिफॉल्ट OPTION EXPLICIT ऑन होता है। OPTION EXPLICIT को ऑन मोड में रख कर आप संभावित त्रुटि को कम कर सकते हैं जो वेरिएबल के नाम में गलती के फलस्वरूप होता है।
स्कोप किसी प्रोग्रामिंग भाषा का वह एट्रिब्यूट होता है, जो प्रोग्राम के अंदर वेरियेबल की एक्सेसिबिलिटी (accessibility) को डिजाइन करता है। इसका अर्थ यह है कि कौन-सा वेरियेबल प्रोग्राम के किस हिस्से के लिए एक्सेस योग्य है, स्कोप यह तय करता है।
Public वेरियेबल पूरे एप्लीकेशन में उपलब्ध रहता है। ये ग्लोबल वेरियेबल होते हैं, जो पूरे एप्लीकेशन में जुड़े होते हैं।
Private कीवर्ड का प्रयोग डिक्लेअरेशन स्टेटमेण्ट में यह स्पष्ट करता है कि इसके एलिमेण्ट केवल मॉडयूल क्लास या स्ट्रक्चर के अंदर ही एक्सेसिबल हैं |
वेरियेबल का लाइफटाइम वह समय होता है जिसके दौरान वे उपलब्ध रहते हैं। इस उद्देश्य के लिए कम्पाइलर प्रोसीजर, पैरामीटर तथा फंक्शन रिटर्न को वेरियेबल के खास मामलों की तरह समझता है।
कॉन्स्टैण्ट वेरियेबल के समान ही होते हैं किन्तु कॉन्स्टैण्ट के मान प्रोग्राम के एक्जिक्यूशन के समय बदलते नहीं है। इसीलिए इन्हें हिन्दी में अचर (न बदलने वाला) कहते हैं।
आमतौर पर इन्यूमरेशन का प्रयोग एक विशेष वेरियेबल के लिए मानों के सभी संभावित सेट को इकट्ठा करने में होता है। प्रत्येक इन्यूमरेशन को एक अनोखा नाम दिया जाता है जिसके साथ इसे एक्सेस किया जाता है।
ऐरे एक ऐसा डाटा स्ट्रक्चर है, जो एक ही प्रकार के डाटा के वेरियेबलों का संकलन है। अर्थात् ऐरे में एक ही प्रकार के एक से अधिक मानों को समाया जा सकता है। इसे इंटीजर, डबल, स्ट्रिंग वेरियेबल का सेट भी कहा जा सकता है।
अलग सबस्क्रिप्टिक बेरियेबलों को असाइनमेण्ट स्टेटमेण्ट के साथ वैल्यू असाइन किये जा सकते हैं तथा तथालिस्ट बॉक्स में इन्हें सामान्य वेरियेबलों के मानों की भाँति ही डिस्प्ले किया जा सकता है।
वस्तुत: subroutine का संक्षिप्त रूप है। इसका अर्थ यह है कि जब-जब आप बटन को क्लिक करते हैं. यह स्प्टीन एक्जिक्यूट होता है। इस प्रकार का सबरूटीन आप स्वयं भी बना सकते हैं। ऐसा करने पर आप के एप्लीकेशन का दूसरा कोड आवश्यकता होने पर उस सबरूटीन को कॉल कर सकता है।
सबस्टीन की सबसे महत्वपूर्ण बात यह है कि आपको एक ही कोड बार-बार नहीं लिखना होता है। आप एक बार किसी विशेष कार्य के लिए सबरूटीन बनायें तथा उसे जब चाहें एप्लीकेशन में कॉल कर लें।
बी.बी. डॉट नेट में पूर्व-निर्मित फंक्शन उपयोग करने के अतिरिक्त हम अपना फंक्शन भी परिभाषित कर सकते हैं। वे फंक्शन फंक्शन प्रोग्राम या यूजर परिभाषित फंक्शन कहे जाते हैं।