डेल्फी सेट प्रकार को समझना

में से एक डेल्फी भाषा अन्य आधुनिक भाषाओं में नहीं मिलने वाली विशेषताएं सेट की धारणा है।

डेल्फी केसेट प्रकार उसी के मूल्यों का एक संग्रह है क्रमिक प्रकार.

एक सेट का उपयोग करके परिभाषित किया गया है समुच्चय कीवर्ड:

सेट प्रकार आमतौर पर सबरेंज के साथ परिभाषित किए जाते हैं।

उपरोक्त उदाहरण में, TMagicNumber एक कस्टम सबरेंज प्रकार है जो TMagicNumber प्रकार के चर को 1 से 34 तक मान प्राप्त करने की अनुमति देता है। सीधे शब्दों में कहें, एक सुव्यवस्थित प्रकार एक अन्य क्रमिक प्रकार में मूल्यों के सबसेट का प्रतिनिधित्व करता है।

सेट प्रकार के संभावित मान खाली सेट सहित आधार प्रकार के सभी सबसेट हैं।

सेट पर एक सीमा यह है कि वे 255 तत्वों तक पकड़ कर सकते हैं।

उपरोक्त उदाहरण में, TMagicSet सेट प्रकार TMagicNumber तत्वों का एक सेट है - पूर्णांक संख्या 1 से 34 तक।

घोषणा TMagicSet = TMagicNumber का सेट निम्नलिखित घोषणा के बराबर है: TMagicSet = 1..34 का सेट।

सेट प्रकार चर

उपरोक्त उदाहरण में, चर emptyMagicSet, oneMagicSet तथा anotherMagicSet TMagicNumber के सेट हैं।

सेवा मान प्रदान करें एक सेट प्रकार चर के लिए, वर्ग कोष्ठक का उपयोग करें और सेट के सभी तत्वों को सूचीबद्ध करें। जैसे की:

instagram viewer

नोट 1: प्रत्येक सेट प्रकार चर खाली सेट को पकड़ सकता है, जिसे [] द्वारा दर्शाया गया है।

नोट 2: एक सेट में तत्वों के क्रम का कोई अर्थ नहीं है, और न ही किसी तत्व (मूल्य) के लिए एक सेट में दो बार शामिल होना सार्थक है।

कीवर्ड में

एक तत्व का परीक्षण करने के लिए शामिल है सेट में (चर) का उपयोग करें में कीवर्ड:

ऑपरेटर सेट करें

इसी तरह से आप दो संख्याओं को जोड़ सकते हैं, आपके पास एक सेट हो सकता है जो दो सेटों का योग है। सेट के साथ आपके ईवेंट में अधिक ऑपरेटर हैं:

  • + दो सेटों का संघ देता है।
  • - दो सेट का अंतर देता है।
  • * दो सेट का प्रतिच्छेदन देता है।
  • = दो सेट के बराबर होने पर वापस लौटें - एक ही तत्व है।
  • यदि पहला सेट दूसरे सेट का सबसेट है तो <= सही है।
  • > = सही है अगर पहला सेट दूसरे सेट का सुपरसेट है।
  • <> यदि दो सेट गैर-समरूप हैं, तो यह सच है।
  • यदि कोई तत्व सेट में शामिल है, तो यह सही है।

यहाँ एक उदाहरण है:

क्या ShowMessage प्रक्रिया निष्पादित की जाएगी? यदि हां, तो क्या प्रदर्शित किया जाएगा?

यहाँ DisplayElements फ़ंक्शन का कार्यान्वयन है:

संकेत: हाँ। प्रदर्शित: "18 | 24 |"।

इंटेगर, कैरेक्टर, बुलियन

बेशक, सेट प्रकार बनाते समय आप पूर्णांक मूल्यों तक सीमित नहीं होते हैं। डेल्फी ऑर्डिनल प्रकारों में चरित्र और बूलियन मूल्य शामिल हैं।

उपयोगकर्ताओं को अल्फा कीज़ टाइप करने से रोकने के लिए, इस लाइन को इन में जोड़ें OnKeyPress एक संपादन नियंत्रण:

गणना के साथ सेट करता है

डेल्फी कोड में आमतौर पर इस्तेमाल किया जाने वाला परिदृश्य दोनों प्रकार के और सेट प्रकारों को मिलाना है।

यहाँ एक उदाहरण है:

प्रश्न: क्या संदेश प्रदर्शित किया जाएगा? उत्तर: नहीं :(

डेल्फी नियंत्रण गुणों में सेट

जब आपको Tedit नियंत्रण में उपयोग किए जाने वाले फ़ॉन्ट पर "बोल्ड" लागू करने की आवश्यकता होती है, तो आप ऑब्जेक्ट इंस्पेक्टर या निम्न कोड का उपयोग करते हैं:

फॉन्ट की स्टाइल प्रॉपर्टी एक सेट टाइप प्रॉपर्टी है! यहाँ यह परिभाषित किया गया है:

तो, एक एन्यूमरेटेड टाइप TFontStyle का उपयोग सेट प्रकार TFontStyles के लिए आधार प्रकार के रूप में किया जाता है। TFont वर्ग की शैली गुण TFontStyles का प्रकार है - इसलिए एक सेट प्रकार गुण है।

एक अन्य उदाहरण में MessageDlg फ़ंक्शन का परिणाम शामिल है। MessageDlg फ़ंक्शन का उपयोग संदेश बॉक्स को लाने और उपयोगकर्ता की प्रतिक्रिया प्राप्त करने के लिए किया जाता है। फ़ंक्शन के मापदंडों में से एक प्रकार TMsgDlgButtons का बटन पैरामीटर है।

TMsgDlgButtons (mbYes, mbNo, mbOK, mbCancel, mbAbort, mbRetry, mbIgnore, mbNll, mbNoToAll, mbYesToAll, mbHelp) के एक सेट के रूप में परिभाषित किया गया है।

यदि आप उपयोगकर्ता को हां, ओके और कैंसल बटन वाला संदेश प्रदर्शित करते हैं और आप कुछ कोड निष्पादित करना चाहते हैं यदि हां या ओके बटन क्लिक किए गए हैं तो आप अगले कोड का उपयोग कर सकते हैं:

अंतिम शब्द: सेट बहुत अच्छे हैं। सेट एक के लिए भ्रामक दिखाई दे सकते हैं डेल्फी शुरुआत, लेकिन जैसे ही आप सेट प्रकार के चर का उपयोग करना शुरू करते हैं, आपको पता चलेगा कि वे बहुत अधिक प्रदान करते हैं तो यह शुरुआत में लग रहा था।

instagram story viewer