कैनवास ऐप्स में चरों को समझें
यदि आपने किसी अन्य प्रोग्रामिंग उपकरण, जैसे Visual Basic या JavaScript का उपयोग किया है, तो आप पूछ रहे होंगे: चर कहाँ हैं? Power Apps थोड़ा भिन्न है और इसके लिए एक भिन्न दृष्टिकोण की आवश्यकता होती है. जब आप एक कैनवास ऐप बनाते हैं, तो एक चर तक पहुँचने के बजाय, स्वयं से पूछें: मैं Excel में क्या करता?
अन्य उपकरणों में, आपने स्पष्ट रूप से एक गणना की होगी और परिणाम को एक चर में संग्रहीत किया होगा. तथापि, Power Apps और Excel दोनों इनपुट डेटा परिवर्तनों के साथ स्वचालित रूप से सूत्रों की पुनर्गणना करते हैं, इसलिए आपको सामान्यतः चरों को बनाने और अद्यतन करने की आवश्यकता नहीं होती. यथासंभव इस दृष्टिकोण को अपनाकर आप अपने ऐप को अधिक आसानी से बना, समझ और देख सकते हैं.
कुछ मामलों में, आपको Power Apps में चरों का उपयोग करना होगा, जो व्यवहार सूत्र जोड़कर Excel के मॉडल को विस्तृत करता है. उदाहरण के लिए, ये सूत्र तब चलते हैं, एक उपयोगकर्ता एक बटन का चयन करता है. व्यवहार सूत्र के भीतर, यह अक्सर अन्य सूत्रों में उपयोग किए जाने वाले चर को सेट करने में सहायक होता है.
सामान्यतः, चरों का उपयोग करने से बचें. परंतु कभी-कभी केवल चर से ही आपके वांछित अनुभव सक्षम हो सकते हैं. जब चर अपने मानों को सेट करने वाले फ़ंक्शन में दिखाई देते हैं, को उस समय वे अंतर्निहित रूप से बनाए और टाइप किए जाते हैं.
Excel का Power Apps में अनुवाद करें
Excel
आइए समीक्षा करें कि Excel कैसे काम करता है. एक कक्ष में कोई मान, जैसे संख्या या स्ट्रिंग या अन्य कक्षों के मानों पर आधारित एक सूत्र हो सकता है. जब उपयोगकर्ता किसी कक्ष में एक भिन्न मान दर्ज करता है, तो Excel उस नए मान पर निर्भर करने वाले किसी भी सूत्र की स्वचालित रूप से पुनर्गणना करता है. आपको यह व्यवहार सक्षम करने के लिए कोई प्रोग्रामिंग करने की आवश्यकता नहीं है.
निम्नलिखित उदाहरण में, कक्ष A3 को सूत्र A1+A2 पर सेट किया गया है. यदि A1 या A2 परिवर्तित किया जाता है, तो A3 परिवर्तन को प्रतिबिंबित करने के लिए स्वचालित रूप से पुनर्गणना करता है. इस व्यवहार के लिए सूत्र के बाहर किसी कोडिंग की आवश्यकता नहीं होती.
Excel में चर नहीं होते. सूत्र रखने वाले कक्ष का मान उसके इनपुट के आधार पर परिवर्तित होता है, परंतु सूत्र के परिणाम को याद रखने और उसे किसी कक्ष या कहीं और स्थान पर संग्रहीत करने का कोई तरीका नहीं है. यदि आप किसी कक्ष का मान बदलते हैं, तो समूची स्प्रेडशीट परिवर्तित हो सकती है, और पहले से गणना किए मान खो जाते हैं. एक Excel उपयोगकर्ता कक्षों की प्रतिलिपि बना और चिपका सकता है, परंतु यह उपयोगकर्ता के मैन्युअल नियंत्रण के अंतर्गत होता है और यह सूत्रों के साथ संभव नहीं है.
Power Apps
Power Apps में आपके द्वारा बनाए गए ऐप्स Excel की तरह व्यवहार करते हैं. कक्षों को अद्यतन करने के बजाय, आप स्क्रीन पर जहाँ चाहें नियंत्रण जोड़ सकते हैं और सूत्रों में उपयोग के लिए उन्हें नाम दे सकते हैं.
उदाहरण के लिए, आप लेबल नियंत्रण, जिसका नाम Label1 है, और दो पाठ इनपुट नियंत्रण, जिनके नाम TextInput1 और TextInput2 हैं, को जोड़कर किसी ऐप में Excel व्यवहार दोहरा सकते हैं. तब यदि आप Label1 के पाठ गुण को TextInput1 + TextInput2 पर सेट करते हैं, तो यह हमेशा स्वचालित रूप से वह योग दिखाएगा, भले ही TextInput1 और TextInput2 में जो भी संख्या मौजूद हो.
ध्यान दें कि Label1 नियंत्रण चयनित है, जो स्क्रीन के शीर्ष पर सूत्र पट्टी पर इसके पाठ सूत्र को दिखा रहा है. यहाँ हम सूत्र TextInput1 + TextInput2 ढूँढ़ते हैं. यह सूत्र इन नियंत्रणों के बीच एक निर्भरता बनाता है, जैसे कि Excel कार्यपुस्तिका में कक्षों के बीच निर्भरताएँ बनाई जाती हैं. आइए, TextInput1 के मान को बदलते हैं:
Label1 के लिए सूत्र ने स्वचालित रूप से पुनर्गणना हुई, और नया मान दिखाया गया.
Power Apps में, आप न केवल एक नियंत्रण के प्राथमिक मान बल्कि स्वरूपण जैसे गुणों को निर्धारित करने के लिए सूत्रों का उपयोग कर सकते हैं. अगले उदाहरण में, लेबल के रंग गुण के लिए एक सूत्र स्वचालित रूप से ऋणात्मक मानों को लाल में दिखाएगा. यदि फ़ंक्शन एक्सेल से परिचित दिखना चाहिए:
If( Value(Label1.Text) < 0, Red, Black )
आप विभिन्न प्रकार के परिदृश्यों के लिए सूत्रों का उपयोग कर सकते हैं:
- आपके डिवाइस के GPS का उपयोग करके एक मानचित्र नियंत्रण, एक सूत्र से आपकी वर्तमान स्थिति को Location.Latitude और Location.Longitude के उपयोग द्वारा दिखा सकता है. जैसे-जैसे आप आगे बढ़ते हैं, मानचित्र स्वचालित रूप से आपके स्थान को ट्रैक करेगा.
- अन्य उपयोगकर्ता डेटा स्रोत अद्यतन कर सकते हैं. उदाहरण के लिए, आपकी टीम के अन्य लोग एक सूची में आइटम अद्यतन कर सकते हैं. जब आप एक डेटा स्रोत रीफ़्रेश करते हैं, तो निर्भर सूत्रों की पुनर्गणना स्वचालित रूप की जाती है, ताकि अद्यतन डेटा प्रतिबिंबित किया जा सके. उदाहरण को आगे बढ़ाते हुए, आप एक गैलरी के आइटम गुण को सूत्र Filter( SharePointList ) पर सेट कर सकते हैं, जो स्वचालित रूप रिकॉर्ड के नए फ़िल्टर किए गए सेट को प्रदर्शित करेगा.
लाभ
ऐप्स बनाने के लिए सूत्रों के उपयोग के कई लाभ हैं:
- यदि आप Excel जानते हैं, तो आप Power Apps जानते हैं. मॉडल और सूत्र की भाषा समान है.
- यदि आपने अन्य प्रोग्रामिंग उपकरणों का उपयोग किया है, तो सोचें कि इन उदाहरणों को पूर्ण करने के लिए कितने कोड की आवश्यकता होगी. Visual Basic में, आपको प्रत्येक पाठ-इनपुट नियंत्रण पर परिवर्तन इवेंट के लिए एक इवेंट हैंडलर लिखना होगा. इनमें से प्रत्येक में गणना करने के लिए कोड अनावश्यक है और सिंक से बाहर जा सकता है, या आपको एक सामान्य सबरूटीन लिखना होगा. Power Apps में, आपने इन सभी को एक एकल-पंक्ति सूत्र द्वारा पूरा किया.
- यह समझने के लिए, कि Label1 का पाठ कहाँ से आ रहा है, आप देखने के लिए सटीक स्थान जानते हैं: पाठ गुण में सूत्र में. इस नियंत्रण के पाठ को प्रभावित करने का कोई अन्य तरीका नहीं है. एक पारंपरिक प्रोग्रामिंग उपकरण में, कोई भी ईवेंट हैंडलर या सबरूटीन, उस प्रोग्राम में किसी भी स्थान से लेबल का मान बदल सकता है. इससे यह ट्रैक करना कठिन हो सकता है, कि चर कब और कहाँ परिवर्तित हो गए.
- यदि उपयोगकर्ता एक स्लाइडर नियंत्रण परिवर्तित करता है और फिर अपना मन बदलता है, तो वह स्लाइडर को उसके मूल मान में वापस परिवर्तित कर सकता है. और मानो कुछ भी परिवर्तित नहीं हुआ है: ऐप उसी नियंत्रण मानों को दिखाता है जैसे उसने पहले दिखाया था. प्रयोग करते रहने और "क्या होगा, यदि ऐसा हो तो" पूछने के लिए कोई जटिलता मौजूद नहीं है, जैसा कि Excel में भी नहीं होती.
सामान्यतः, यदि आप सूत्र के उपयोग द्वारा प्रभाव बना सकते हैं, तो आप बेहतर स्थिति में होंगे. Power Apps में सूत्र इंजन को अपने लिए कार्य करने दें.
जानें, कि चरों का कब उपयोग करना है
आइए, हमारे सरल एडर को किसी पुरानी फैशन की जोड़ने वाली मशीन जैसा बनाएँ, जो जिसमें चलायमान कुल होता है. यदि आप एक जोड़ें बटन का चयन करते हैं, तो चलायमान कुल में एक संख्या जोड़ेंगे. यदि आप एक साफ़ करें बटन का चयन करते हैं, तो चलायमान कुल को शून्य पर रीसेट करेंगे.
दिखाएँ | विवरण |
---|---|
जब ऐप शुरू होता है, तो चलायमान कुल 0 है. पाठ-इनपुट बॉक्स में लाल बिंदु, उपयोगकर्ता की उंगली का प्रतिनिधित्व करता है, जहां उपयोगकर्ता 77 दर्ज करता है. |
|
उपयोगकर्ता जोड़ें बटन का चयन करता है. | |
चलायमान कुल में 77 जोड़ा गया है. उपयोगकर्ता पुनः जोड़ें बटन का चयन करता है. |
|
चलायमान कुल पर पुनः 77 को जोड़ा गया, परिणामस्वरूप 154 हो गए. उपयोगकर्ता साफ़ करें बटन का चयन करता है. |
|
चलायमान कुल को 0 पर रीसेट किया गया. |
हमारी जोड़ने वाली मशीन ऐसी चीज़ का उपयोग करती है जो Excel में मौजूद नहीं है: एक बटन का. इस ऐप में, आप चलायमान कुल की गणना के लिए केवल सूत्रों का उपयोग नहीं कर सकते, क्योंकि इसका मान उपयोगकर्ता द्वारा की जाने वाली क्रियाओं की एक श्रृंखला पर निर्भर करता है. इसके बजाय, हमारे चलायमान कुल को रिकॉर्ड किया जाना चाहिए और मैन्युअल रूप से अद्यतन किया जाना चाहिए. इस जानकारी में अधिकांश प्रोग्रामिंग उपकरण चर में संग्रहीत होते हैं.
आपको कभी-कभी मनचाहे तरीके के कार्य करने के लिए अपने ऐप के लिए एक चर की आवश्यकता होगी. लेकिन यह दृष्टिकोण एक चेतावनी के साथ आता है:
- आपको चलायमान कुल को मैन्युअल रूप से अद्यतन करना होगा. स्वचालित पुनर्गणना आपके लिए यह कार्य नहीं करेगी.
- चलायमान कुल की गणना अब अन्य नियंत्रणों के मानों के आधार पर नहीं की जा सकती. यह इस बात पर निर्भर करता है कि उपयोगकर्ता ने कितनी बार जोड़ें बटन का चयन किया है, और प्रत्येक बार पाठ-इनपुट नियंत्रण में कौन-कौन से मान थे. क्या उपयोगकर्ता ने दो बार 77 दर्ज किया और जोड़ें चयन किया था, या उन्होंने प्रत्येक जोड़ के लिए 24 और 130 निर्दिष्ट किया था? आप कुल 154 तक पहुँचने के बाद अंतर नहीं बता सकते.
- कुल में परिवर्तन विभिन्न पथों से आ सकता है. इस उदाहरण में, जोड़ें और साफ़ करें दोनों बटन कुल का अद्यतन कर सकते हैं. यदि ऐप आपकी अपेक्षा के अनुरूप व्यवहार नहीं करता, तो कौन सा बटन समस्या पैदा कर रहा है?
एक ग्लोबल चर का उपयोग करें
हमारी जोड़ने की मशीन बनाने के लिए, हमें ऐसे चर की आवश्यकता होती है, जो चलायमान कुल को होल्ड कर सके. Power Apps के भीतर कार्य करने के लिए सबसे सरल चर ग्लोबल चर हैं.
ग्लोबल चर कैसे कार्य करते हैं:
- आप ग्लोबल चर का मान Set फ़ंक्शन से सेट करते हैं. Set( MyVar, 1 ) ग्लोबल चर MyVar को मान 1 पर सेट करता है.
- आप Set फ़ंक्शन से उपयोग किए गए नाम को संदर्भित करते हुए ग्लोबल चर का उपयोग करते हैं. इस मामले में, MyVar 1 देगा.
- ग्लोबल चर किसी भी मान को होल्ड कर सकते हैं, जिसमें स्ट्रिंग, संख्याएँ, रिकॉर्ड, और तालिकाएँ शामिल हैं.
आइए एक ग्लोबल चर के उपयोग द्वारा अपनी जोड़ने वाली मशीन का पुनर्निर्माण करें:
एक पाठ-इनपुट नियंत्रण नामतः TextInput1, और दो बटन, नामतः Button1 और Button2 जोड़ें.
Button1 के पाठ गुण को "जोड़ें" पर सेट करें, और Button2 के पाठ गुण को "साफ़ करें" पर सेट करें.
जब भी कोई उपयोगकर्ता जोड़ें बटन का चयन करता है, तब चलायमान कुल को अद्यतन करने के लिए , इसके OnSelect गुण को इस सूत्र पर सेट करें:
Set( RunningTotal, RunningTotal + TextInput1 )
इस सूत्र के अस्तित्व ही से RunningTotal एक ग्लोबल चर के रूप में स्थापित होता है, जो + ऑपरेटर के कारण एक संख्या को होल्ड रखता है. आप ऐप में कहीं भी RunningTotal संदर्भित कर सकते हैं. जब भी उपयोगकर्ता इस ऐप को खोलता है, तब RunningTotal का प्रारंभिक मान रिक्त होता है.
जब उपयोगकर्ता प्रथम बार जोड़ें बटन का चयन करता है, और Set चलता है, तो RunningTotal मान RunningTotal + TextInput1 पर सेट होता है.
जब भी कोई उपयोगकर्ता साफ़ करें बटन का चयन करता है, तब चलायमान कुल को 0 पर सेट करने के लिए, इसके OnSelect गुण को इस सूत्र पर सेट करें:
Set( RunningTotal, 0 )
एक लेबल नियंत्रण जोड़ें, और उसके पाठ गुण को RunningTotal पर सेट करें:
इस सूत्र की पुनर्गणना स्वचालित रूप से हो जाएगी और उपयोगकर्ता को इसके परिवर्तनों के रूप में RunningTotal का मान दिखाई देगा, जो उपयोगकर्ता द्वारा चयनित बटनों के आधार पर होगा.
ऐप का पूर्वावलोकन करें, और ऊपर वर्णित हमारी जोड़ने वाली मशीन हमारे पास मौजूद है. पाठ बॉक्स में एक संख्या दर्ज करें और कई बार जोड़ें बटन दबाएँ. तैयार होने पर, Esc कुंजी का उपयोग करके लेखन अनुभव पर वापस लौटें.
वैश्विक चर का मान दिखाने के लिए, निम्न में से कोई एक कार्य करें:
यदि आप Power Apps Studio का पूर्वावलोकन संस्करण उपयोग कर रहे हैं, तो ऐप संलेखन मेनू पर वैरिएबल्स का चयन करें.
यदि आप Power Apps Studio का क्लासिक संस्करण उपयोग कर रहे हैं, तो फ़ाइल मेनू का चयन करें, और बाएँ फलक में वैरिएबल्स का चयन करें।
वे सभी स्थान दिखाने के लिए जहां चर परिभाषित और उपयोग किया गया है, उसे वैश्विक चर के अंतर्गत चुनें.
चरों के प्रकार
Power Apps के पास तीन प्रकार के चर होते हैं:
चर प्रकार | Scope | वर्णन | स्थापित करने वाले फ़ंक्शन |
---|---|---|---|
ग्लोबल चर | ऐप | उपयोग में सरलतम. नंबर, पाठ स्ट्रिंग, बूलियन, रिकॉर्ड, तालिका इत्यादि रखता है, जिसेअनुप्रयोग में कहीं से भी संदर्भित किया जा सकता है. | सेट |
संदर्भ चर | स्क्रीन | स्क्रीन पर मानों को पास करने के लिए शानदार, बहुत कुछ अन्य भाषाओं में एक प्रक्रिया पर पैरामीटर जैसा. केवल एक स्क्रीन से संदर्भित किया जा सकता है. | UpdateContext नेविगेट करें |
संग्रह | ऐप | एक तालिका होल्ड करता है, जिसे ऐप में कहीं से भी संदर्भित किया जा सकता है. तालिका की सामग्री को संपूर्ण के रूप में सेट किए जाने के बजाए संशोधित किए जाने की अनुमति देता है. बाद में उपयोग के लिए स्थानीय डिवाइस पर सहेजा जा सकता है. | Collect ClearCollect |
चर बनाएँ और निकालें
जब चर Set, UpdateContext, Navigate, Collect, या ClearCollect फ़ंक्शन में दिखाई देते हैं, तो सभी चर अंतर्निहित रूप से बनाए जाते हैं. एक चर और उसके प्रकार की घोषणा करने के लिए, आपको इसे अपने ऐप में कहीं भी किसी भी फ़ंक्शन में केवल शामिल करना होगा. इनमें से कोई भी फ़ंक्शन चर नहीं बनाता; वे केवल चरों को मानों से भरते हैं. आप चरों को स्पष्ट रूप से घोषित नहीं करते, क्योंकि आप किसी अन्य प्रोग्रामिंग उपकरण में हो सकते हैं और सभी टाइपिंग उपयोग से अंतर्निहित होती हैं.
उदाहरण के लिए, आपके पास बटन नियंत्रण हो सकता है, जिसमें OnSelect सूत्र Set( X, 1 ) के बराबर है. यह सूत्र X को एक चर के रूप में स्थापित करता है, जिसका प्रकार संख्या है. आप सूत्रों में X का उपयोग एक संख्या के रूप में कर सकते हैं, और आपके ऐप खोलने के बाद, परंतु आपके बटन चयन करने से पहले उस चर का मान रिक्त होता है. जब आप बटन का चयन करते हैं, तो X को मान 1 देते हैं.
यदि आपने एक और बटन जोड़ा है और इसके OnSelect गुण को Set( X, "Hello" ), पर सेट किया है, तो एक त्रुटि होगी क्योंकि प्रकार (पाठ स्ट्रिंग) पिछले Set (संख्या) के प्रकार से मेल नहीं खाता. चर की सभी अंतर्निहित परिभाषाएँ प्रकार पर सहमत होनी चाहिए. फिर, यह सब इसलिए हुआ क्योंकि आपने सूत्रों में X का उल्लेख किया था, न कि इसलिए कि उनमें से कोई सूत्र वास्तव में चला था.
आप किसी चर को अंतर्निहित रूप से स्थापित करने वाले सभी Set, UpdateContext, Navigate, Collect, या ClearCollect फ़ंक्शन को निकालकर उस चर को निकालते हैं. इन फ़ंक्शन के बिना, चर का अस्तित्व नहीं होता. आपको चर के किसी भी संदर्भ को हटाना होगा, क्योंकि उनके कारण एक त्रुटि होगी.
चर जीवनकाल और प्रारंभिक मान
ऐप के चलने के दौरान सभी चर मेमोरी में होल्ड किए जाते हैं. ऐप के बंद होने के बाद, चरों द्वारा होल्ड किए गए मान खो जाते हैं.
आप Patch या Collect फ़ंक्शन के उपयोग द्वारा चर की सामग्री को डेटा स्रोत में संग्रहीत कर सकते हैं. आप SaveData फ़ंक्शन के उपयोग द्वारा संग्रहों के मानों को स्थानीय डिवाइस पर भी संग्रहीत कर सकते हैं.
जब उपयोगकर्ता ऐप खोलता है, तो सभी चरों का प्रारंभिक मान रिक्त होता है.
चरों को पढ़ना
आप चर का मान पढ़ने के लिए उसके नाम का उपयोग करते हैं. उदाहरण के लिए, आप एक चर को इस सूत्र से परिभाषित कर सकते हैं:
Set( Radius, 12 )
फिर आप जिन स्थानों पर एक संख्या का उपयोग कर सकते हैं, वहाँ किसी भी स्थान पर Radius का उपयोग कर सकते हैं, और वह 12 द्वारा प्रतिस्थापित कर दिया जाएगा:
Pi() * Power( Radius, 2 )
यदि आप एक संदर्भ चर को ग्लोबल चर या संग्रह के समान नाम देते हैं, तो संदर्भ चर वरीयता लेता है. हालाँकि, यदि आप असंबद्धता ऑपरेटर [@Radius] का उपयोग करते हैं, तो आप अभी भी वैश्विक चर या संग्रह को संदर्भित कर सकते हैं।
संदर्भ चर का उपयोग करें
आइए, देखें कि हमारी जोड़ने वाली मशीन एक ग्लोबल चर के बजाय एक संदर्भ चर के उपयोग द्वारा कैसे बनाई जाएगी.
संदर्भ चर कैसे कार्य करते हैं:
- आप संदर्भ चरों को UpdateContext या Navigate फ़ंक्शन के उपयोग द्वारा अंतर्निहित रूप से स्थापित और सेट कर सकते हैं. जब ऐप प्रारंभ होता है, तो सभी संदर्भ चरों का एक प्रारंभिक मान रिक्त होता है.
- आप संदर्भ चरों को रिकॉर्ड के साथ अद्यतन करते हैं. अन्य प्रोग्रामिंग उपकरणों में, आप असाइनमेंट के लिए सामान्यतः "=" का उपयोग करते हैं, जैसा कि "x = 1" में करते हैं. संदर्भ चर के लिए, इसके बजाय { x: 1 } का उपयोग करें. जब आप एक संदर्भ चर का उपयोग करते हैं, तो रिकॉर्ड सिंटैक्स के बिना सीधे उसके नाम का उपयोग करें.
- जब आप एक स्क्रीन दिखाने के लिए Navigate फ़ंक्शन का उपयोग करते हैं, तो एक संदर्भ चर भी सेट कर सकते हैं. यदि आप एक स्क्रीन को एक प्रक्रिया या सबरूटीन के प्रकार मानकर सोचते हैं, तो यह दृष्टिकोण अन्य प्रोग्रामिंग उपकरणों में पास होने वाले पैरामीटर जैसा दिखाई देता है.
- Navigate के अलावा, संदर्भ चर एकल स्क्रीन के संदर्भ तक ही सीमित हैं, जहाँ वे अपना नाम प्राप्त करते हैं. आप उन्हें इस संदर्भ के बाहर उपयोग या सेट नहीं कर सकते.
- संदर्भ चर किसी भी मान को होल्ड कर सकते हैं, जिसमें स्ट्रिंग, संख्याएँ, रिकॉर्ड, और तालिकाएँ शामिल हैं.
आइए, एक संदर्भ चर के उपयोग द्वारा हमारी जोड़ने वाली मशीन का पुनर्निर्माण करें:
एक पाठ-इनपुट नियंत्रण नामतः TextInput1, और दो बटन, नामतः Button1 और Button2 जोड़ें.
Button1 के पाठ गुण को "जोड़ें" पर सेट करें, और Button2 के पाठ गुण को "साफ़ करें" पर सेट करें.
जब भी कोई उपयोगकर्ता जोड़ें बटन का चयन करता है, तब चलायमान कुल को अद्यतन करने के लिए , इसके OnSelect गुण को इस सूत्र पर सेट करें:
UpdateContext( { RunningTotal: RunningTotal + TextInput1 } )
इस सूत्र के अस्तित्व ही से RunningTotal एक संदर्भ चर के रूप में स्थापित होता है, जो + ऑपरेटर के कारण एक संख्या को होल्ड रखता है. आप इस स्क्रीन में कहीं भी RunningTotal संदर्भित कर सकते हैं. जब भी उपयोगकर्ता इस ऐप को खोलता है, तब RunningTotal का प्रारंभिक मान रिक्त होता है.
जब उपयोगकर्ता प्रथम बार जोड़ें बटन का चयन करता है, और UpdateContext चलता है, तो RunningTotal मान RunningTotal + TextInput1 पर सेट होता है.
जब भी कोई उपयोगकर्ता साफ़ करें बटन का चयन करता है, तब चलायमान कुल को 0 पर सेट करने के लिए, इसके OnSelect गुण को इस सूत्र पर सेट करें:
UpdateContext( { RunningTotal: 0 } )
पुनः UpdateContext का उपयोग सूत्र UpdateContext( { RunningTotal: 0 } ) के साथ किया जाता है.
एक लेबल नियंत्रण जोड़ें, और उसके पाठ गुण को RunningTotal पर सेट करें:
इस सूत्र की पुनर्गणना स्वचालित रूप से हो जाएगी और उपयोगकर्ता को इसके परिवर्तनों के रूप में RunningTotal का मान दिखाई देगा, जो उपयोगकर्ता द्वारा चयनित बटनों के आधार पर होगा.
ऐप का पूर्वावलोकन करें, और ऊपर वर्णित हमारी जोड़ने वाली मशीन हमारे पास मौजूद है. पाठ बॉक्स में एक संख्या दर्ज करें और कई बार जोड़ें बटन दबाएँ. तैयार होने पर, Esc कुंजी का उपयोग करके लेखन अनुभव पर वापस लौटें.
आप स्क्रीन पर नेविगेट करते समय आप एक संदर्भ चर का मान सेट कर सकते हैं. यह "संदर्भ" या "पैरामीटर" को एक स्क्रीन से दूसरे स्क्रीन पर पास करने के लिए उपयोगी होता है. इस तकनीक को प्रदर्शित करने के लिए, एक स्क्रीन सम्मिलित करें, एक बटन सम्मिलित करें, और इसके OnSelect गुण को इस सूत्र पर सेट करें:
Navigate( Screen1, None, { RunningTotal: -1000 } )
जब आप Screen1 दिखाने, और संदर्भ चर RunningTotal को -1000 पर सेट करने, दोनों का चयन करते हैं, तो उस समय Alt कुंजी दबाए रखें.
संदर्भ चर का मान दिखाने के लिए, निम्न में से कोई एक कार्य करें:
यदि आप Power Apps Studio का पूर्वावलोकन संस्करण उपयोग कर रहे हैं, तो ऐप संलेखन मेनू में वैरिएबल्स का चयन करें.
यदि आप Power Apps Studio का क्लासिक संस्करण उपयोग कर रहे हैं, तो फ़ाइल मेनू का चयन करें, और फिर बाएँ फलक में वैरिएबल्स का चयन करें।
यह दिखाने के लिए कि संदर्भ चर कहाँ परिभाषित और उपयोग किया गया है, उसे संदर्भ चर के अंतर्गत चुनें.
संग्रह का उपयोग करें
अंततः, आइए एक संग्रह के साथ हमारी जोड़ने वाली मशीन बनाने पर नज़र डालें. चूँकि एक संग्रह एक तालिका होल्ड करता है जिसे संशोधित करना आसान है, अतः हम इस जोड़ने वाली मशीन को इस प्रकार बनाएँगे कि प्रत्येक मान के दर्ज किए जाते ही, वह उनका एक "पेपर टेप" रखती है.
संग्रह कैसे कार्य करते हैं:
- ClearCollect फ़ंक्शन के उपयोग द्वारा संग्रह बनाएँ और सेट करें. इसके बजाए आप Collect फंक्शन का उपयोग कर सकते हैं, परंतु इसके लिए पुराने चर को प्रतिस्थापित करने के बजाए किसी अन्य चर की प्रभावी रूप से आवश्यकता होगी.
- संग्रह डेटा स्रोत का एक प्रकार है, और इसलिए एक तालिका है. संग्रह में एकल मान तक पहुँचने के लिए, First फ़ंक्शन का उपयोग करें, और परिणामी रिकॉर्ड से एक फ़ील्ड निकालें. यदि आपने ClearCollect के साथ एकल मान का उपयोग किया था, यह Value फ़ील्ड होगा, जैसा इस उदाहरण में है:
First( VariableName ).Value
आइए, एक संग्रह के उपयोग द्वारा हमारी जोड़ने वाली मशीन को पुनः बनाएँ:
एक पाठ-इनपुट नियंत्रण नामतः TextInput1, और दो बटन, नामतः Button1 और Button2 जोड़ें.
Button1 के पाठ गुण को "जोड़ें" पर सेट करें, और Button2 के पाठ गुण को "साफ़ करें" पर सेट करें.
जब भी कोई उपयोगकर्ता जोड़ें बटन का चयन करता है, तब चलायमान कुल को अद्यतन करने के लिए , इसके OnSelect गुण को इस सूत्र पर सेट करें:
Collect( PaperTape, TextInput1.Text )
इस सूत्र का मात्र अस्तित्व से ही PaperTape एक संग्रह के रूप स्थापित हो जाता है, जो पाठ स्ट्रिंग की एकल-स्तंभ तालिका होल्ड करता है. आप इस ऐप में कहीं भी PaperTape संदर्भित कर सकते हैं. जब भी कोई उपयोगकर्ता इस ऐप को खोलता है, PaperTape एक रिक्त तालिका होती है.
जब यह सूत्र चलता है, तो यह संग्रह के अंत में नया मान जोड़ता जाता है. चूँकि हम एकल मान जोड़ रहे हैं, अतः Collect स्वचालित रूप से इसे एकल-स्तंभ तालिका में रखता है, और स्तंभ का नाम है Value है, जिसका उपयोग आप बाद में करेंगे.
जब उपयोगकर्ता साफ़ करें बटन का चयन करता है, तब पेपर टेप साफ़ करने के लिए, इसके OnSelect गुण को इस सूत्र पर सेट करें:
Clear( PaperTape )
चलायमान कुल प्रदर्शित करने के लिए, एक लेबल जोड़ें, और इसके पाठ गुण को इस सूत्र पर सेट करें:
Sum( PaperTape, Value )
जोड़ने वाली मशीन चलाने के लिए, पूर्वावलोकन खोलने के लिए F5 दबाएँ, पाठ-इनपुट नियंत्रण में संख्याएँ दर्ज करें, और बटन चयन करें.
डिफ़ॉल्ट कार्यस्थान पर वापस लौटने के लिए, Esc कुंजी दबाएँ.
पेपर टेप प्रदर्शित करने के लिए, एक डेटा तालिका नियंत्रण सम्मिलित करें और उसके आइटम गुण को इस सूत्र पर सेट करें:
PaperTape
दाएं-हाथ के फलक में, फ़ील्ड संपादित करें चुनें और फिर फ़ील्ड जोड़ें चुनें, मान कॉलम चुनें और फिर इसे दिखाने के लिए जोड़ें का चयन करें.
अपने संग्रह में मान देखने के लिए, निम्न में से कोई एक कार्य करें:
यदि आप Power Apps Studio का पूर्वावलोकन संस्करण उपयोग कर रहे हैं, तो ऐप संलेखन मेनू में चर चुनें और फिर संग्रह चुनें.
यदि आप Power Apps Studio का क्लासिक संस्करण उपयोग कर रहे हैं, तो फ़ाइल मेनू पर संग्रह का चयन करें.
अपने संग्रह को संग्रहीत और पुनर्प्राप्त करने के लिए, दो अतिरिक्त बटन नियंत्रण जोड़ें, और उनके पाठ गुण को लोड करें और सहेजें पर सेट करें. लोड करें बटन के OnSelect गुण को इस सूत्र पर सेट करें:
Clear( PaperTape ); LoadData( PaperTape, "StoredPaperTape", true )
आपको पहले यह संग्रह खाली करना होगा, क्योंकि LoadData संग्रहीत मानों को संग्रह के अंत में जोड़ देगा.
सहेजें बटन के OnSelect गुण को इस सूत्र पर सेट करें:
SaveData( PaperTape, "StoredPaperTape" )
F5 कुंजी दबा कर पुनः पूर्वावलोकन करें, पाठ-इनपुट नियंत्रण में संख्याएँ दर्ज करें, और बटन चयन करें. सहेजें बटन का चयन करें. ऐप बंद करें और पुनः लोड करें, और अपने संग्रह को पुनः लोड करने के लिए लोड करें बटन का चयन करें.
नोट
SaveData और LoadData फ़ंक्शन Power Apps मोबाइल में काम करते हैं, लेकिन Power Apps Studio या Power Apps के लिए वेब प्लेयर में नहीं.
नोट
क्या आप हमें अपनी दस्तावेज़ीकरण भाषा वरीयताओं के बारे में बता सकते हैं? एक छोटा सर्वेक्षण पूरा करें. (कृपया ध्यान दें कि यह सर्वेक्षण अंग्रेज़ी में है)
सर्वेक्षण में लगभग सात मिनट लगेंगे. कोई भी व्यक्तिगत डेटा एकत्र नहीं किया जाता है (गोपनीयता कथन).