1सी पंक्ति में अतिरिक्त रिक्त स्थान हटा दें। तारों की एक दूसरे से तुलना करना

💖क्या आपको यह पसंद है?लिंक को अपने दोस्तों के साथ साझा करें

अक्सर ऐसा होता है कि 1C 8.2 और 8.3 से डेटा लोड और अनलोड करते समय, संख्याओं में रिक्त स्थान होते हैं जो डेटा की सामान्य प्रोसेसिंग में बाधा डालते हैं। इस समस्या का समाधान बहुत सरल है.

आइए देखें कि रिक्त स्थान किस प्रकार के होते हैं।

रिक्त स्थान दो प्रकार के हो सकते हैं:

  • मानक या स्थायी जगह;
  • "नियमित" स्थान.

न टूटने वाली जगहों को हटाना

स्ट्रिंगप्रतिनिधित्व = स्ट्रिंग(संख्या); // सिस्टम वेरिएबल पर "10,000" लिखेगा

संख्या प्रारूप फ़ंक्शन का उपयोग करके 1सी में ऐसे रिक्त स्थान को हटाना बहुत आसान है:

संख्या = प्रारूप(10000, “एनएच=”);

स्ट्रिंगप्रतिनिधित्व = स्ट्रिंग(संख्या); // सिस्टम वेरिएबल पर "10000" लिखेगा

हम प्रारूप स्ट्रिंग में ग्रुपिंग को खाली मान पर सेट करते हैं (आप "0" भी लिख सकते हैं)।

यदि डेटा प्रकार पहले से ही "स्ट्रिंग" है, तो निम्न विधि का उपयोग किया जा सकता है:

स्ट्रिंगरिप्रेजेंटेशन = स्ट्रिप्लेस(स्ट्रिंग(स्ट्रिंगरिप्रेजेंटेशन), कैरेक्टर्स.एनपीपी, ""); // स्ट्रिंगरिप्रेजेंटेशन वेरिएबल में "10,000" था, अब यह "10000" है

यानी, हमने लाइन में नॉन-ब्रेकिंग स्पेस (कैरेक्टर्स.एनपीपी) को एक खाली मान से बदल दिया है।

नियमित स्थान

एक पंक्ति में नियमित स्थान हटाना नाशपाती के छिलके उतारने जितना आसान है। यह निम्नलिखित कार्य करने के लिए पर्याप्त है:

स्ट्रिंग रिप्रेजेंटेशन = स्ट्र्रेप्लेस (स्ट्रिंग (स्ट्रिंग रिप्रेजेंटेशन), " ", ""); // "10,000", "10000" बन गया

उदाहरण पिछली पद्धति के समान है। हालाँकि, कैरेक्टर.एनपीपी के बजाय, हम एक स्थान के साथ एक स्ट्रिंग का उपयोग करते हैं।

यदि आप 1सी प्रोग्रामिंग सीखना शुरू कर रहे हैं, तो हम हमारी अनुशंसा करते हैं निःशुल्क पाठ्यक्रम(मत भूलो यूट्यूब की सदस्यता लें - नए वीडियो नियमित रूप से जारी किए जाते हैं)।

अंतर्निहित 1C भाषा में 1C 8.3 में पंक्तियाँ एक आदिम प्रकार के मान हैं रेखा. मान इस प्रकार कामनमाने ढंग से लंबाई की एक यूनिकोड स्ट्रिंग शामिल है। स्ट्रिंग प्रकार चर उद्धरण चिह्नों में संलग्न वर्णों का एक समूह हैं।

उदाहरण 1. आइए टेक्स्ट के साथ एक स्ट्रिंग वेरिएबल बनाएं।

स्ट्रिंगवेरिएबल = "हैलो वर्ल्ड!";

1एस 8.3 में स्ट्रिंग्स के साथ काम करने के लिए फ़ंक्शन

यह अनुभाग मुख्य कार्य प्रदान करेगा जो आपको 1सी में लाइनें बदलने या उनमें मौजूद जानकारी का विश्लेषण करने की अनुमति देता है।

स्ट्रेल्थ

स्ट्रेल्थ(<Строка>) . एक पैरामीटर के रूप में पारित स्ट्रिंग में निहित वर्णों की संख्या लौटाता है।

उदाहरण 2. आइए "हैलो वर्ल्ड!" पंक्ति में वर्णों की संख्या गिनें।

स्ट्रिंग = "हैलो वर्ल्ड!"; अक्षरों की संख्या = स्ट्रेल्थ (स्ट्रिंग); रिपोर्ट(अक्षरों की संख्या);

इस कोड को निष्पादित करने का परिणाम पंक्ति में वर्णों की संख्या का प्रदर्शन होगा: 11.

AbbrL

एबीबीआरएल(<Строка>) . स्ट्रिंग में पहले महत्वपूर्ण वर्ण के बाईं ओर गैर-महत्वपूर्ण वर्णों को ट्रिम करता है।
लघु पात्र:

  • अंतरिक्ष;
  • मानक या स्थायी जगह;
  • सारणीकरण;
  • कैरिज रिटर्न;
  • रेखा भरण;
  • फॉर्म का अनुवाद (पेज)।

उदाहरण 3. पंक्ति "विश्व!" के बायीं ओर से सभी रिक्त स्थान हटा दें। और इसमें "हैलो" लाइन जोड़ें।

स्ट्रिंग = संक्षिप्त नाम ("दुनिया!"); स्ट्रिंग = "हैलो"+स्ट्रिंग; रिपोर्ट(स्ट्रिंग);

इस कोड को निष्पादित करने का परिणाम स्क्रीन पर "हैलो वर्ल्ड!" लाइन का प्रदर्शन होगा।

संक्षिप्त

संक्षेपाक्षर(<Строка>) . स्ट्रिंग में पहले महत्वपूर्ण वर्ण के दाईं ओर गैर-महत्वपूर्ण वर्णों को ट्रिम करता है।

उदाहरण 4. "हैलो" और "शांति!" पंक्तियों से बना रूप वाक्यांश "हैलो वर्ल्ड!"

पंक्ति = संक्षिप्त नाम ("हैलो")+" "+ संक्षिप्त नाम (" दुनिया!"); रिपोर्ट(स्ट्रिंग);

AbbrLP

AbbrLP(<Строка>) . स्ट्रिंग में पहले महत्वपूर्ण वर्ण के दाईं ओर गैर-महत्वपूर्ण वर्णों को ट्रिम करता है, और स्ट्रिंग में पहले महत्वपूर्ण वर्ण के बाईं ओर गैर-महत्वपूर्ण वर्णों को भी ट्रिम करता है। यह फ़ंक्शनपिछले दो की तुलना में अधिक बार उपयोग किया जाता है, क्योंकि यह अधिक सार्वभौमिक है।

उदाहरण 5. प्रतिपक्ष के नाम में बाएँ और दाएँ से महत्वहीन अक्षर हटाएँ।

प्रतिपक्ष = निर्देशिकाएँ। विवरण द्वारा खोजें ("टिन", "0777121211"); अकाउंटऑब्जेक्ट = अकाउंट.गेटऑब्जेक्ट(); काउंटरपार्टीऑब्जेक्ट.नाम = एबीबीआरएलपी(काउंटरपार्टीऑब्जेक्ट.नाम); अकाउंटऑब्जेक्ट.लिखें();

शेर

शेर(<Строка>, <ЧислоСимволов>) . स्ट्रिंग के पहले अक्षर प्राप्त करें, वर्णों की संख्या पैरामीटर में निर्दिष्ट है वर्णों की संख्या.

उदाहरण 6. चलो संरचना में कर्मचारीकर्मचारी का पहला, अंतिम और संरक्षक नाम शामिल करें। अंतिम नाम और आद्याक्षर के साथ एक स्ट्रिंग प्राप्त करें।

नामप्रारंभिक = लेव(कर्मचारी का नाम, 1); संरक्षक प्रारंभिक = सिंह (कर्मचारी। संरक्षक, 1); पूरा नाम = कर्मचारी.अंतिम नाम + " " + प्रथम नाम प्रारंभिक + "।"

+ मध्य आरंभ + "।";

सही<Строка>, <ЧислоСимволов>) सही( वर्णों की संख्या.. स्ट्रिंग के अंतिम अक्षर, पैरामीटर में निर्दिष्ट वर्णों की संख्या प्राप्त करता है

यदि वर्णों की निर्दिष्ट संख्या स्ट्रिंग की लंबाई से अधिक है, तो संपूर्ण स्ट्रिंग वापस कर दी जाती है। उदाहरण 7. एक स्ट्रिंग वेरिएबल के अंत में "yyyymmdd" प्रारूप में एक तारीख लिखने दें, तारीख के साथ एक स्ट्रिंग प्राप्त करें और इसे टाइप में परिवर्तित करें.

तारीख स्ट्रिंग = "वर्तमान तिथि

: 20170910"; स्ट्रिंगडेट = अधिकार (स्ट्रिंग, 8); दिनांक = दिनांक (स्ट्रिंगडेट);

बुधवार<Строка>, <НачальныйНомер>, <ЧислоСимволов>) बुधवार( रेखा. पैरामीटर के रूप में पारित स्ट्रिंग से एक सबस्ट्रिंग प्राप्त करता है , उस वर्ण से प्रारंभ करना जिसकी संख्या पैरामीटर में निर्दिष्ट हैआरंभिक संख्या वर्णों की संख्या.और लंबाई पैरामीटर में पारित हो गई , उस वर्ण से प्रारंभ करना जिसकी संख्या पैरामीटर में निर्दिष्ट हैएक पंक्ति में वर्णों की संख्या 1 से शुरू होती है। यदि पैरामीटर में शून्य से कम या उसके बराबर मान निर्दिष्ट किया जाता है, तो पैरामीटर मान 1 लेता हैनिर्दिष्ट नहीं है, तो पंक्ति के अंत तक के वर्णों का चयन किया जाता है।

उदाहरण 8. नौवें स्थान से शुरू होने वाले स्ट्रिंग वेरिएबल में क्षेत्र कोड शामिल है, आपको इसे प्राप्त करना चाहिए और इसे एक अलग पंक्ति में लिखना चाहिए।

स्ट्रिंग = "क्षेत्र: 99 मॉस्को"; क्षेत्र = औसत(स्ट्रिंग, 9, 2);

पृष्ठ खोजें

स्ट्रफ़ाइंड(<Строка>, <ПодстрокаПоиска>, <НаправлениеПоиска>, <НачальнаяПозиция>, <НомерВхождения>) . एक स्ट्रिंग में एक निर्दिष्ट सबस्ट्रिंग की खोज करता है, और पाए गए सबस्ट्रिंग के पहले अक्षर की स्थिति संख्या लौटाता है। आइए इस फ़ंक्शन के मापदंडों को देखें:

  • रेखा. स्रोत स्ट्रिंग;
  • सबस्ट्रिंग खोजें. सबस्ट्रिंग खोजें;
  • खोज दिशा. एक स्ट्रिंग में एक सबस्ट्रिंग की खोज करने की दिशा निर्दिष्ट करता है। मान ले सकते हैं:
    • खोज दिशा.प्रारंभ से;
    • खोजें.अंत दिशा;
  • प्रारंभिक स्थिति. स्ट्रिंग में वह स्थिति निर्दिष्ट करता है जिस पर खोज शुरू होती है;
  • संख्या घटनाएँ. स्रोत स्ट्रिंग में खोजे गए सबस्ट्रिंग की घटना संख्या निर्दिष्ट करता है।

उदाहरण 9. पंक्ति में "हैलो वर्ल्ड!" "और" वर्ण की अंतिम घटना की स्थिति निर्धारित करें।

स्थिति संख्या = स्ट्रफ़ाइंड ("हैलो वर्ल्ड!", "और", खोज दिशा.अंत); रिपोर्ट(स्थिति संख्या);

इस कोड को निष्पादित करने का परिणाम "और" प्रतीक की अंतिम घटना की संख्या प्रदर्शित करना होगा: 9।

वीरेग

वीरेग(<Строка>) . 1s8 में निर्दिष्ट स्ट्रिंग के सभी वर्णों को अपरकेस में परिवर्तित करता है।

उदाहरण 10: स्ट्रिंग को "हैलो वर्ल्ड!" में बदलें ऊपरी मामले में.

स्ट्रिंगVreg = VReg('हैलो वर्ल्ड!'); रिपोर्ट(स्ट्रिंगव्रेग);

इस कोड को निष्पादित करने का परिणाम "हैलो वर्ल्ड!" लाइन का प्रदर्शन होगा।

एनआरईजी

एनआरईजी(<Строка>) . निर्दिष्ट स्ट्रिंग के सभी वर्णों को 1s8 में लोअरकेस में परिवर्तित करता है।

उदाहरण 11: स्ट्रिंग को "हैलो वर्ल्ड!" में बदलें मामले को कम करने के लिए.

स्ट्रिंगएनआरईजी = एनआरईजी ("हैलो वर्ल्ड!"); रिपोर्ट(स्ट्रिंगव्रेग);

इस कोड को निष्पादित करने का परिणाम "हैलो वर्ल्ड!" लाइन का प्रदर्शन होगा।

ट्रेग

TReg(<Строка>) . एक स्ट्रिंग को इस प्रकार परिवर्तित करता है: प्रत्येक शब्द का पहला अक्षर अपर केस में परिवर्तित हो जाता है, शब्द के शेष अक्षर लोअर केस में परिवर्तित हो जाते हैं।

उदाहरण 12: "हैलो वर्ल्ड!" पंक्ति में शब्दों के पहले अक्षरों को बड़े अक्षरों में लिखें।

स्ट्रिंगट्रेग = टीरेग('हैलो वर्ल्ड!'); रिपोर्ट(स्ट्रिंगट्रेग);

इस कोड को निष्पादित करने का परिणाम "हैलो वर्ल्ड!" लाइन का प्रदर्शन होगा।

प्रतीक

प्रतीक(<КодСимвола>) . इसके यूनिकोड कोड द्वारा एक वर्ण प्राप्त होता है।

उदाहरण 13. "हैलो वर्ल्ड!" पंक्ति में बाएँ और दाएँ जोड़ें! प्रतीक ★

स्ट्रिंगविथस्टार = प्रतीक("9733")+"हैलो वर्ल्ड!"+प्रतीक("9733"); रिपोर्ट(स्ट्रिंगविथस्टार);

इस कोड को निष्पादित करने का परिणाम "★हैलो वर्ल्ड!★" पंक्ति का प्रदर्शन होगा।

प्रतीक कोड

प्रतीककोड(<Строка>, <НомерСимвола>) . पहले पैरामीटर में निर्दिष्ट स्ट्रिंग से यूनिकोड वर्ण कोड प्राप्त करता है, जो दूसरे पैरामीटर में निर्दिष्ट स्थान पर स्थित होता है।

उदाहरण 14. "हैलो वर्ल्ड!" पंक्ति में अंतिम अक्षर का कोड ज्ञात करें।

स्ट्रिंग = "हैलो वर्ल्ड!"; कैरेक्टरकोड = कैरेक्टरकोड(स्ट्रिंग, स्ट्रेलेंथ(स्ट्रिंग)); सूचित करें (कैरेक्टर कोड);

इस कोड को निष्पादित करने का परिणाम प्रतीक कोड "!" का प्रदर्शन होगा। - 33.

खाली स्ट्रिंग

खाली स्ट्रिंग(<Строка>) . जाँचता है कि क्या स्ट्रिंग में केवल महत्वहीन अक्षर हैं, अर्थात क्या यह खाली है।

उदाहरण 15. जांचें कि क्या तीन रिक्त स्थानों वाली एक स्ट्रिंग खाली है।

खाली = खालीस्ट्रिंग(""); रिपोर्ट(खाली);

इस कोड को निष्पादित करने का परिणाम "हां" शब्द (तार्किक मान की एक स्ट्रिंग अभिव्यक्ति) का प्रदर्शन होगा सत्य).

पृष्ठ बदलें

स्ट्रिरप्लेस(<Строка>, <ПодстрокаПоиска>, <ПодстрокаЗамены>) . स्रोत स्ट्रिंग में खोज सबस्ट्रिंग की सभी घटनाओं को ढूँढता है और इसे प्रतिस्थापन सबस्ट्रिंग से बदल देता है।

उदाहरण 16. पंक्ति में "हैलो वर्ल्ड!" "शांति" शब्द को "मित्र" शब्द से बदलें।

स्ट्रिंग = StrReplace ("हैलो वर्ल्ड!", "वर्ल्ड", "फ्रेंड्स"); रिपोर्ट(स्ट्रिंग);

इस कोड को निष्पादित करने का परिणाम "हैलो फ्रेंड्स!" लाइन का प्रदर्शन होगा।

StrNumberLines

StrNumberRow(<Строка>) . आपको मल्टीलाइन स्ट्रिंग में लाइनों की संख्या गिनने की अनुमति देता है। को जाने के लिए नई लाइन 1s 8 में प्रतीक का प्रयोग किया गया है पी.एस.(न्यूलाइन कैरेक्टर).

उदाहरण 17. पाठ में पंक्तियों की संख्या निर्धारित करें:
"पहली पंक्ति
दूसरी पंक्ति
तीसरी पंक्ति"

संख्या = StrNumberString('पहली पंक्ति'+अक्षर.पीएस +'दूसरी पंक्ति'+प्रतीक.पीएस +'तीसरी पंक्ति'); रिपोर्ट(संख्या);

इस कोड को निष्पादित करने का परिणाम पाठ में पंक्तियों की संख्या का प्रदर्शन होगा: 3

स्ट्रगेटस्ट्रिंग

स्ट्रगेटस्ट्रिंग(<Строка>, <НомерСтроки>) . किसी मल्टीलाइन स्ट्रिंग में उसकी संख्या के आधार पर एक पंक्ति प्राप्त करें। लाइन नंबरिंग 1 से शुरू होती है.

उदाहरण 18. पाठ में अंतिम पंक्ति प्राप्त करें:
"पहली पंक्ति
दूसरी पंक्ति
तीसरी पंक्ति"

पाठ = "पहली पंक्ति" + प्रतीक पीएस + "दूसरी पंक्ति" + प्रतीक पीएस + "तीसरी पंक्ति"; LastRow = StrGetRow(पाठ, StrNumberLines(पाठ)); रिपोर्ट(अंतिम पंक्ति);

इस कोड को निष्पादित करने का परिणाम "थर्ड लाइन" लाइन का प्रदर्शन होगा।

पृष्ठ संख्या घटनाएँ

StrNumberOccurrences(<Строка>, <ПодстрокаПоиска>) . एक स्ट्रिंग में निर्दिष्ट सबस्ट्रिंग की घटनाओं की संख्या लौटाता है। फंक्शन अक्षर संवेदी है।

उदाहरण 19. निर्धारित करें कि अक्षर "c" कितनी बार "1s 8.3 और 8.2 में पंक्तियाँ" पंक्ति में आता है, चाहे उसका मामला कुछ भी हो।

पंक्ति = "1s 8.3 और 8.2 में पंक्तियाँ"; NumberOccurrences = StrNumberOccurrences(Vreg(String), "C"); रिपोर्ट(संख्या घटनाएँ);

इस कोड को निष्पादित करने का परिणाम घटनाओं की संख्या का प्रदर्शन होगा: 2.

पेजसाथ से शुरू होता है

स्ट्रस्टार्ट्सविथ(<Строка>, <СтрокаПоиска>) . जाँचता है कि क्या पहले पैरामीटर में पारित स्ट्रिंग दूसरे पैरामीटर में स्ट्रिंग से शुरू होती है।

उदाहरण 20. निर्धारित करें कि क्या चयनित प्रतिपक्ष का टीआईएन संख्या 1 से शुरू होता है। प्रतिपक्ष प्रतिपक्षों.

टिन = प्रतिपक्ष.टिन; स्टार्ट्सयूनिट्स = स्ट्रस्टार्ट्सविथ(टीआईएन, "1"); यदि इकाइयों से प्रारंभ होता है तो //आपका कोड EndIf;

पेजएंडऑन

स्ट्रेंड्सविथ(<Строка>, <СтрокаПоиска>) . जाँचता है कि क्या पहले पैरामीटर में पारित स्ट्रिंग दूसरे पैरामीटर में स्ट्रिंग के साथ समाप्त होती है।

उदाहरण 21. निर्धारित करें कि क्या चयनित प्रतिपक्ष का टीआईएन संख्या 2 के साथ समाप्त होता है। प्रतिपक्षकिसी निर्देशिका तत्व का संदर्भ संग्रहीत किया जाता है प्रतिपक्षों.

टिन = प्रतिपक्ष.टिन; EndsWithTwo = StrEndsWith(TIN, "2"); यदि EndsInTwo तो //आपका कोड EndIf;

पेजस्प्लिट

स्ट्रडिवाइड(<Строка>, <Разделитель>, <ВключатьПустые>) . निर्दिष्ट सीमांकक वर्णों का उपयोग करके एक स्ट्रिंग को भागों में विभाजित करता है और परिणामी स्ट्रिंग को एक सरणी में लिखता है। पहला पैरामीटर स्रोत स्ट्रिंग को संग्रहीत करता है, दूसरे में विभाजक युक्त स्ट्रिंग होती है, तीसरा इंगित करता है कि क्या खाली स्ट्रिंग को सरणी में लिखा जाना चाहिए (डिफ़ॉल्ट रूप से) सत्य).

उदाहरण 22. आइए हमारे पास एक स्ट्रिंग है जिसमें संख्याएँ प्रतीक ";" से अलग की गई हैं, स्ट्रिंग से संख्याओं की एक सरणी प्राप्त करें।

स्ट्रिंग = "1; 2; 3"; ऐरे = स्ट्रडिवाइड(स्ट्रिंग, ";"); गणना के लिए = 0 Array.Quantity() द्वारा - 1 चक्र प्रयास सरणी[गणना] = संख्या(AbbrLP(सरणी[गणना]));

अपवाद सरणी[Sch] = 0;

अंतिम प्रयासअंतचक्र;

निष्पादन के परिणामस्वरूप, 1 से 3 तक की संख्याओं वाली एक सरणी प्राप्त होगी।<Строки>, <Разделитель>) पेजकनेक्ट

स्ट्रकनेक्ट(

. पहले पैरामीटर से स्ट्रिंग्स की सरणी को दूसरे पैरामीटर में निर्दिष्ट सीमांकक द्वारा अलग किए गए सरणी के सभी तत्वों वाली स्ट्रिंग में परिवर्तित करता है।

उदाहरण 23. पिछले उदाहरण से संख्याओं की सारणी का उपयोग करके, मूल स्ट्रिंग प्राप्त करें।

खाते के लिए = 0 Array.Quantity() द्वारा - 1 चक्र सारणी[अधिनियम] = स्ट्रिंग(सरणी[अधिनियम]); अंतचक्र; पंक्ति = StrConnect(सरणी, "; ");

डमी के लिए अक्सर पूछे जाने वाले प्रश्न या प्लेटफ़ॉर्म 8। 1सी विषयों के लिए समर्पित मंचों को देखते हुए, प्रोग्रामर जिन्होंने पहली बार 1सी वी 8 प्लेटफॉर्म का सामना किया या 7.7 से आगे बढ़ रहे हैं, उनके पास अक्सर वही प्रश्न होते हैं। यहां मैंने, मेरी राय में, सबसे आम चीजों को इकट्ठा करने का फैसला किया...
में:संख्या 12,600.00 में रिक्त स्थान कैसे हटाएं?

के बारे में:

यह समझना महत्वपूर्ण है कि यह अंतरिक्ष चरित्र नहीं है जिसका उपयोग यहां किया गया है, बल्कि तथाकथित "नॉन-ब्रेकिंग स्पेस", उदाहरण के लिए, यह निर्माण:

StrReplace(VariableNumber," ","");
काम नहीं करेगा. समस्या को हल करने के लिए दो विकल्प हैं, या तो स्थान के बजाय प्रतिस्थापन के लिए Symbols.NPP निर्दिष्ट करें, या Format() फ़ंक्शन का उपयोग करें।

डमी के लिए अक्सर पूछे जाने वाले प्रश्न या प्लेटफ़ॉर्म 8। StrReplace(VariableNumber,Characters.NPP,""); // पहला विकल्प
में:यह आरईएफ क्वेरी भाषा ऑपरेटर का उपयोग करके किया जा सकता है, जो आपको यह जांचने की अनुमति देता है कि इसके बाईं ओर निर्दिष्ट अभिव्यक्ति का मान दाईं ओर निर्दिष्ट तालिका का संदर्भ है या नहीं। आइए एक उदाहरण देखें, सेवाओं की बिक्री के संचय रजिस्टर से केवल उन रिकॉर्ड्स का चयन करें जिनके लिए रजिस्ट्रार वस्तुओं और सेवाओं की बिक्री का दस्तावेज़ है:

अनुरोध=नया अनुरोध(''
|चुनें
| सेवाओं का कार्यान्वयन, रजिस्ट्रार
| सेवाओं की बिक्री
|से
| संचय का रजिस्टर सेवाओं का कार्यान्वयन कैसे सेवाओं का कार्यान्वयन
|कहां
| रजिस्ट्रार लिंक दस्तावेज़ वस्तुओं और सेवाओं की बिक्री");

डमी के लिए अक्सर पूछे जाने वाले प्रश्न या प्लेटफ़ॉर्म 8।समान कॉन्फ़िगरेशन के बीच कुछ दस्तावेज़/संदर्भ पुस्तकें कैसे स्थानांतरित करें?
में:यह ITS डिस्क पर आपूर्ति की गई मानक प्रोसेसिंग UploadLoadDataXML.epf का उपयोग करके किया जा सकता है।

डमी के लिए अक्सर पूछे जाने वाले प्रश्न या प्लेटफ़ॉर्म 8।विभिन्न कॉन्फ़िगरेशन (या 7.7 से 8 तक) के बीच डेटा कैसे स्थानांतरित करें?
में:मेरी राय में, सबसे अच्छा विकल्प मानक "डेटा रूपांतरण" कॉन्फ़िगरेशन का उपयोग करना है, जो आईटीएस डिस्क पर प्रदान किया जाता है, इस कॉन्फ़िगरेशन के उपयोग का वर्णन करने वाले कई लेख भी हैं;

डमी के लिए अक्सर पूछे जाने वाले प्रश्न या प्लेटफ़ॉर्म 8।मैं किसी क्वेरी में गैर-स्ट्रिंग प्रकार फ़ील्ड में एक विशिष्ट स्ट्रिंग कैसे जोड़ सकता हूं, उदाहरण के लिए माल और सेवाओं की बिक्री का चयन करें + " आरयूआर "?
में:बिलकुल नहीं। किसी क्वेरी में प्रकार रूपांतरण संभव नहीं है. कुछ लोग एक्सप्रेस क्वेरी भाषा निर्माण से गुमराह हो जाते हैं, लेकिन यह समग्र प्रकार के मान को केवल उन प्रकारों में से एक में डालता है जो मूल्य बनाते हैं और किसी भी तरह से प्रकार को परिवर्तित नहीं करते हैं, इसलिए यह इस स्थिति में लागू नहीं होता है।

डमी के लिए अक्सर पूछे जाने वाले प्रश्न या प्लेटफ़ॉर्म 8।मैं किसी फ़ील्ड पर असीमित लंबाई की स्ट्रिंग प्रकार के साथ एक क्वेरी में एक शर्त कैसे सेट कर सकता हूं, उदाहरण के लिए, एक निश्चित टिप्पणी के साथ सभी दस्तावेज़ों का चयन करें?
में:ऐसा करने के लिए, आपको क्वेरी भाषा ऑपरेटर एक्सप्रेस का उपयोग करके फ़ील्ड की लंबाई सीमित करने की आवश्यकता है। उदाहरण के लिए:

अनुरोध=नया अनुरोध(''
|चुनें
| वस्तुओं और सेवाओं की बिक्री लिंक
|से
| दस्तावेज़: वस्तुओं और सेवाओं की बिक्री, वस्तुओं और सेवाओं की बिक्री कैसे करें
|कहां
| एक्सप्रेस(सेल्सप्रोडक्ट्ससर्विसेज. पंक्ति के रूप में टिप्पणी(100)) = &टिप्पणी");

डमी के लिए अक्सर पूछे जाने वाले प्रश्न या प्लेटफ़ॉर्म 8।क्या v 8 में फ़ंक्शन 7.7 कैटलॉगआईबी() का कोई एनालॉग है?
में:नहीं, क्योंकि क्लाइंट-सर्वर मोड के संचालन के लिए ऐसा फ़ंक्शन कोई अर्थ नहीं रखता। हालाँकि, ऑपरेशन के फ़ाइल मोड के लिए एक निर्देशिका प्राप्त करना संभव है सूचना आधारनिम्नलिखित निर्माण का उपयोग करना:

CatalogIB=NSt(InformationBaseConnectionString(),"फ़ाइल");

डमी के लिए अक्सर पूछे जाने वाले प्रश्न या प्लेटफ़ॉर्म 8।वितरित इन्फोबेस से किसी नोड को कैसे डिस्कनेक्ट करें?
में:निम्नलिखित निर्माण का उपयोग करना:

एक्सचेंजप्लांस.सेटमेननोड(अपरिभाषित);

या पैरामीटर के साथ विन्यासकर्ता चलाएँ कमांड लाइन/ResetMasterNode (मूल संस्करणों के लिए उपयोग नहीं किया गया)।

डमी के लिए अक्सर पूछे जाने वाले प्रश्न या प्लेटफ़ॉर्म 8।दस्तावेज़ का नाम कैसे प्राप्त करें (विधि 7.7 व्यू() के अनुरूप)?
में:मेटाडेटा का उपयोग करना. उदाहरण के लिए:

डमी के लिए अक्सर पूछे जाने वाले प्रश्न या प्लेटफ़ॉर्म 8।एक क्वेरी में सभी प्रकार के दस्तावेज़ों का चयन कैसे करें?
में:मेटाडेटा का उपयोग करना और प्रश्नों को संयोजित करने की क्षमता डमी के लिए अक्सर पूछे जाने वाले प्रश्न या प्लेटफ़ॉर्म 8।

अनुरोध=नया अनुरोध;
टेक्स्ट='';
मेटाडेटा.दस्तावेज़ चक्र से प्रत्येक दस्तावेज़ के लिए
टेक्स्ट=टेक्स्ट+"दस्तावेज़ से लिंक चुनें।"+डॉक्यूमेंट.नाम+"मर्ज करें";
अंतचक्र;
Query.Text=Left(Text,StrLength(Text)-StrLength(" COMBINE"));
चुनें=Query.Run().Select();

डमी के लिए अक्सर पूछे जाने वाले प्रश्न या प्लेटफ़ॉर्म 8।रिपोर्ट/प्रोसेसिंग को कैसे बाधित करें?
में: UserInterpt Handling() ऑपरेटर का उपयोग करते हुए, इसे लूप के अंदर उपयोग करने की अनुशंसा की जाती है। जब उपयोगकर्ता Ctrl+Break कुंजी संयोजन दबाता है, तो निष्पादन बाधित हो जाता है और संबंधित संदेश प्रदर्शित होता है। उदाहरण के लिए:

जबकि सेलेक्ट.नेक्स्ट() लूप
उपयोगकर्ताइंटरप्टहैंडलिंग();

अंतचक्र;

डमी के लिए अक्सर पूछे जाने वाले प्रश्न या प्लेटफ़ॉर्म 8।फॉर्म में वैल्यूट्री प्रकार और ट्री प्रॉपर्टी सेट के साथ एक टेबलफिल्ड है। वैल्यू ट्री प्रदर्शित क्यों नहीं किया जाता है?
में:इसके अतिरिक्त, आपको किसी एक कॉलम के लिए प्रदर्शन पदानुक्रम गुण सेट करना होगा।

डमी के लिए अक्सर पूछे जाने वाले प्रश्न या प्लेटफ़ॉर्म 8।इन्फोबेस के फ़ाइल मोड में नियमित कार्यों का उपयोग कैसे करें?
में:क्लाइंट-सर्वर के विपरीत, फ़ाइल मोड में, स्वचालित स्टार्टअप को लागू करने की ज़िम्मेदारी नियमित कार्यडेवलपर पर निर्भर है। कार्यों के ऑटोस्टार्ट को लागू करने के लिए, आपको एक वेटिंग हैंडलर की आवश्यकता होती है जो समय-समय पर "अतिदेय" कार्यों की जांच करता है और उन्हें शुरू करता है। यह अत्यधिक अनुशंसित है कि आप इसके लिए एक अलग सत्र का उपयोग करें। उदाहरण:

प्रक्रिया जाँच कार्य()
ExecuteTaskProcessing();
प्रक्रिया का अंत
कनेक्टवेटिंगहैंडलर ("चेकिंगटास्क",3);

डमी के लिए अक्सर पूछे जाने वाले प्रश्न या प्लेटफ़ॉर्म 8।सीमांकित स्ट्रिंग से सरणी कैसे प्राप्त करें?
में:उदाहरण के तौर पर, मैं एक फ़ंक्शन का अपना संस्करण दूंगा जो "दोनों दिशाओं में" काम करता है, यानी। एक सीमांकित स्ट्रिंग को पास करते समय, यह एक सरणी बनाता है, और एक सरणी को पास करते समय, यह उससे एक सीमांकित स्ट्रिंग बनाता है।

फ़ंक्शन स्ट्रिंगअरे (मूल्य मान, विभाजक)
यदि टाइपवैल्यू(वैल्यू)=टाइप("स्ट्रिंग") तो
MnStr = StrReplace(मान, विभाजक, अक्षर.PS);
सारणी = नई सारणी;
n=1 के लिए पंक्तियों की StrNumber (MnStr) चक्र द्वारा
Array.Add(StrGetString(MnStr,n));
अंतचक्र;
वापसी सरणी;
ElseIfTypeValue(Value)=Type("Array") फिर
लाइन='';
मूल्य चक्र के प्रत्येक तत्व के लिए
स्ट्रिंग=स्ट्रिंग+?(स्ट्रिंग'',सेपरेटर,'')+तत्व;
अंतचक्र;
वापसी स्ट्रिंग;
अन्यथा
वापसी अपरिभाषित;
अंतयदि;
अंतकार्य

डमी के लिए अक्सर पूछे जाने वाले प्रश्न या प्लेटफ़ॉर्म 8।मानक कॉन्फ़िगरेशन में कॉन्फ़िगरेशनकर्ता में परिवर्तन करने की क्षमता कैसे सक्षम करें?
में:चूंकि मानक कॉन्फ़िगरेशन समर्थित हैं (जो अनुमति देता है स्वचालित मोडअद्यतन), तो डिफ़ॉल्ट रूप से, कॉन्फ़िगरेशन में परिवर्तन करने की क्षमता अक्षम हो जाती है। इस सुविधा को सक्षम करने के लिए, आपको कॉन्फिगरेटर में मेनू आइटम "कॉन्फ़िगरेशन > समर्थन > समर्थन सेटिंग्स" का चयन करना होगा और खुलने वाली विंडो में, "बदलने की क्षमता सक्षम करें" बटन पर क्लिक करें।

डमी के लिए अक्सर पूछे जाने वाले प्रश्न या प्लेटफ़ॉर्म 8।प्रोसेसिंग/कॉन्फ़िगरेशन पासवर्ड कैसे सेट करें?
में: 1सी वी 8 में, पासवर्ड केवल ऑब्जेक्ट मॉड्यूल के लिए सेट किया जा सकता है। पासवर्ड सेट करने के लिए, आपको ऑब्जेक्ट मॉड्यूल खोलना होगा और मेनू आइटम "टेक्स्ट> पासवर्ड सेट करें" का चयन करना होगा। ऑब्जेक्ट मॉड्यूल के स्रोत कोड के बिना कॉन्फ़िगरेशन की आपूर्ति करना भी संभव है ("कॉन्फ़िगरेशन> कॉन्फ़िगरेशन डिलीवरी> डिलीवरी सेटिंग्स" में कॉन्फ़िगर किया गया)। मैं उस पर ध्यान देना चाहूंगा इस समय, इनमें से कोई भी तरीका मॉड्यूल के स्रोत कोड को देखने के खिलाफ विश्वसनीय सुरक्षा नहीं है।

डमी के लिए अक्सर पूछे जाने वाले प्रश्न या प्लेटफ़ॉर्म 8। FindByNumber विधि का उपयोग करके किसी दस्तावेज़ की खोज क्यों नहीं की जा रही है(<Номер документа>)?
में:यह याद रखना चाहिए कि यदि कॉन्फ़िगरेशनकर्ता में इस प्रकार के दस्तावेज़ के लिए आवधिक क्रमांकन सेट किया गया है, तो दस्तावेज़ संख्या के अलावा, आपको अंतराल तिथि को दूसरे पैरामीटर के रूप में निर्दिष्ट करना होगा। अन्यथा, खाली तारीख वाले दस्तावेज़ की खोज की जाएगी, जिससे स्पष्ट रूप से वांछित परिणाम नहीं मिलेगा।

डमी के लिए अक्सर पूछे जाने वाले प्रश्न या प्लेटफ़ॉर्म 8। 1C 8.1 में, यदि आपको डिबगिंग (कॉन्फिगरेटर> डिबगिंग> कनेक्शन) के लिए पहले से चल रहे एप्लिकेशन से कनेक्ट करने की आवश्यकता है, तो उपलब्ध डिबगिंग आइटम खाली हैं। कारण क्या है?
में:मुद्दा यह है कि जिस एप्लिकेशन को हम डिबग करने जा रहे हैं, उसके लिए हमें स्पष्ट रूप से डिबगिंग की अनुमति देनी होगी। उपकरण मेनू > विकल्प > सिस्टम टैब > "डीबगिंग सक्षम" ध्वज।

डमी के लिए अक्सर पूछे जाने वाले प्रश्न या प्लेटफ़ॉर्म 8।स्ट्रिंग्स पर पुनरावृति को कैसे व्यवस्थित करें गतिशील सूची(उदाहरण के लिए, निर्देशिका सूची या दस्तावेज़ सूची)?
में:यह रिपोर्ट बिल्डर का उपयोग करके किया जा सकता है, उदाहरण के लिए:

बिल्डर=न्यूरिपोर्टबिल्डर;
Builder.DataSource=NewDataSourceDescription(DocumentList);
चयन=बिल्डर.परिणाम.चयन();
जबकि सेलेक्ट.नेक्स्ट() लूप
रिपोर्ट(चयन.लिंक);
अंतचक्र;

ध्यान दें: चयन में वर्तमान में चयनित चयन के अनुसार पंक्तियाँ शामिल होंगी।

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

// उदाहरण 1. निर्देशिका के पदानुक्रम का प्रकार
यदि मेटाडेटा.निर्देशिकाएं[निर्देशिका का नाम].पदानुक्रम दृश्य = मेटाडेटा.ऑब्जेक्ट गुण.पदानुक्रम दृश्य.समूहों और तत्वों का पदानुक्रम तो...
// उदाहरण 2. रजिस्टररिकॉर्ड मोड
यदि Metadata.InformationRegisters[RegisterName].RegisterRecordMode = Metadata.ObjectProperties.RegisterRecordMode.Registrar पर सबमिशन तो...
// उदाहरण 3. दस्तावेज़ संख्या की आवधिकता
यदि Metadata.Documents[DocumentName].PeriodicityNumbers = Metadata.ObjectProperties.PeriodityDocumentNumbers.Non-periodic तो...

डमी के लिए अक्सर पूछे जाने वाले प्रश्न या प्लेटफ़ॉर्म 8।एक वैल्यू ट्री में तीन स्थितियों वाला चेकबॉक्स कैसे लागू करें?
में:आइए समस्या के निरूपण पर अधिक विस्तार से विचार करें। प्रपत्र में एक तालिका फ़ील्ड है, जिसके लिए डेटा स्रोत एक मान वृक्ष है। एक कॉलम में एक "चेकबॉक्स" नियंत्रण तत्व है। यह आवश्यक है कि यह तीन अवस्थाओं को स्वीकार कर सके: "चालू", "बंद" और "अपरिभाषित"। इस मामले में, राज्य "अनिर्धारित" या तथाकथित "ग्रे फ़्लैग" है, अर्थात। आंशिक रूप से चयनित सेट किया गया है यदि सभी अधीनस्थ पंक्तियों में समान चेकबॉक्स स्थिति नहीं है। इसके अलावा, यदि किसी पंक्ति में अधीनस्थ पंक्तियाँ हैं, तो जब उसका ध्वज बदला जाता है, तो सभी अधीनस्थ पंक्तियों के झंडे तदनुसार बदल जाने चाहिए।
सबसे पहले, आइए अपना चेकबॉक्स कॉलम वैल्यू ट्री में जोड़ें:

वृक्ष.कॉलम.जोड़ें('चिह्नित करें', नया प्रकार विवरण('संख्या'));
फॉर्मएलिमेंट्स.ट्री.क्रिएटकॉलमंस();
ट्रीकॉलम=फॉर्मएलिमेंट्स.ट्री.कॉलम;
TreeColumns.Mark.FlagData='Mark';
TreeColumns.Mark.SetControlElement(प्रकार("चेकबॉक्स"));
ट्री कॉलम.मार्क.एडिटमोड=एडिटमोडकॉलम.सीधे
बिल्कुल;
TreeColumns.Mark.ThreeStatesFlag=True;

दूसरे, चेकबॉक्स बदलते समय, आपको अधीनस्थ पंक्तियों में संबंधित मान सेट करने और "मूल पंक्ति" में चेकबॉक्स के मान को नियंत्रित करने की आवश्यकता होती है:

प्रक्रिया ट्रीव्हेनचेंजिंगफ्लैग(तत्व, कॉलम)
currentRow=Element.CurrentRow;
यदि currentLine.Mark=2 तब
करंटलाइन.मार्क=0;
अंतयदि;
SettingFlags(CurrentRow,CurrentRow.Mark);
जबकि currentRow.Parent अपरिभाषित लूप
currentRow.Parent.Mark=?(SetForAll(CurrentRow),CurrentRow.Mark, 2);
करंटरो = करंटरो.पैरेंट;
अंतचक्र;
प्रक्रिया का अंत

यहां, SetFlags() प्रक्रिया पुनरावर्ती रूप से अधीनस्थ पंक्तियों में चेकबॉक्स सेट करती है:

प्रक्रिया सेटिंगझंडे(वर्तमान पंक्ति,मान)
currentRow.Rows चक्र से प्रत्येक पृष्ठ के लिए
पेजमार्क=मूल्य;
सेटचेक (पेज, पेजमार्क);
अंतचक्र;
प्रक्रिया का अंत

और SetForAll() फ़ंक्शन जाँचता है कि क्या वर्तमान स्तर पर सभी पंक्तियों के लिए समान मान सेट है:

फ़ंक्शन सेटफॉरऑल(स्ट्रिंग)
Row.Parent.Rows चक्र के प्रत्येक पृष्ठ के लिए
यदि पेज.मार्कलाइन.मार्क फिर
विवरण झूठा है;
अंतयदि;
अंतचक्र;
सत्य लौटें;
अंतकार्य

डमी के लिए अक्सर पूछे जाने वाले प्रश्न या प्लेटफ़ॉर्म 8।मैं सूची प्रपत्र में अपनी विशेषताओं के आधार पर छँटाई कैसे लागू कर सकता हूँ?
में:यदि विशेषता आदिम प्रकार की है, तो यह "सूचकांक" विशेषता की संपत्ति को "सूचकांक" या "अतिरिक्त सूचकांक के साथ सूचकांक" पर सेट करने के लिए पर्याप्त है। ऑर्डर करना" (वैल्यू स्टोरेज प्रकार की विशेषताओं के लिए उपलब्ध नहीं है)। यदि विशेषता एक संदर्भ प्रकार है, तो आपको इसके लिए स्पष्ट रूप से सॉर्टिंग उपलब्धता की अनुमति देनी होगी। उदाहरण के लिए:

एलिमेंट यूपी=फॉर्म एलिमेंट्स.डायरेक्टरीलिस्ट.ऑर्डर सेटिंग्स.फाइंड('प्रॉप्स1');
यदि यूपी तत्व अपरिभाषित है तो
एलिमेंटयूपी.उपलब्धता = सत्य;
अंतयदि;

स्ट्रिंग प्रकार सभी प्रोग्रामिंग भाषाओं में पाया जाता है। यह आदिम है, और 1सी में इसके साथ काम करने के लिए कई कार्य हैं। इस लेख में हम बारीकी से देखेंगे विभिन्न तरीकेउदाहरणों का उपयोग करके 1C 8.3 और 8.2 में स्ट्रिंग प्रकारों के साथ काम करना।

रेखा

किसी भी प्रकार के वेरिएबल को स्ट्रिंग में बदलने के लिए, उसी नाम का एक फ़ंक्शन "स्ट्रिंग()" होता है। इनपुट पैरामीटर वेरिएबल ही होगा, जिसका स्ट्रिंग प्रतिनिधित्व प्राप्त किया जाना चाहिए।

स्ट्रिंग (गलत) // "नहीं" लौटाता है
स्ट्रिंग(12345) // रिटर्न "12,345"
स्ट्रिंग(वर्तमान दिनांक()) //"07/21/2017 11:55:36″

न केवल आदिम प्रकारों को एक स्ट्रिंग में परिवर्तित करना संभव है, बल्कि अन्य, उदाहरण के लिए, निर्देशिकाओं और दस्तावेज़ों के तत्व भी।

SokrLP, SokrL, SokrP

इन फ़ंक्शंस के इनपुट पैरामीटर स्ट्रिंग प्रकार के एक चर हैं। फ़ंक्शंस महत्वहीन वर्णों (रिक्त स्थान, कैरिज रिटर्न इत्यादि) को हटा देते हैं: क्रमशः बाएँ और दाएँ तरफ से, केवल बाएँ तरफ से, और केवल दाएँ तरफ से।

संक्षिप्तीकरण ("दोनों तरफ से रिक्त स्थान हटा दिए जाएंगे") // "दोनों तरफ से रिक्त स्थान हटा दिए जाएंगे"
संक्षिप्तीकरण ("दोनों तरफ के रिक्त स्थान हटा दिए जाएंगे") // "बाईं ओर के रिक्त स्थान हटा दिए जाएंगे"
संक्षिप्तीकरण ("दोनों तरफ के रिक्त स्थान हटा दिए जाएंगे") // "दाईं ओर के रिक्त स्थान हटा दिए जाएंगे"

सिंह, दायां, मध्यम

ये फ़ंक्शन आपको स्ट्रिंग के भाग को ट्रिम करने की अनुमति देते हैं। "लेफ्ट()" फ़ंक्शन एक स्ट्रिंग के निर्दिष्ट लंबाई के बाईं ओर के हिस्से को वापस कर देगा। "राइट()" फ़ंक्शन समान है, लेकिन दाईं ओर से क्रॉप होता है। "औसत ()" फ़ंक्शन आपको उस वर्ण की संख्या निर्दिष्ट करने की अनुमति देता है जिससे लाइन का चयन किया जाएगा और उसकी लंबाई।

लेव ("स्ट्रिंग वैरिएबल", 4) // रिटर्न "Str"
राइट ("स्ट्रिंग वेरिएबल", 7) // रिटर्न "वेरिएबल"
मीडियम('स्ट्रिंग वेरिएबल', 2, 5) // रिटर्न 'ट्रोको'

स्ट्रेल्थ

फ़ंक्शन एक स्ट्रिंग वेरिएबल में निहित वर्णों की संख्या निर्धारित करता है।

StrLength("Word") // निष्पादन का परिणाम संख्या 5 होगा

खोजो

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

कृपया ध्यान दें कि खोज केस संवेदनशील है। यदि मूल स्ट्रिंग में खोज सबस्ट्रिंग की एक से अधिक घटनाएँ हैं, तो फ़ंक्शन पहली घटना की शुरुआत लौटाएगा।

ढूँढें ("एक, दो, एक, दो, तीन", "दो") // फ़ंक्शन संख्या 6 लौटाएगा

खाली स्ट्रिंग

इस फ़ंक्शन का उपयोग करने से आप यह निर्धारित कर सकते हैं कि कोई स्ट्रिंग खाली है या नहीं। छोटे अक्षर जैसे स्पेस, कैरिज रिटर्न और अन्य को ध्यान में नहीं रखा जाता है।

EmptyString('पुपकिन वसीली इवानोविच') // फ़ंक्शन गलत मान लौटाएगा
EmptyString(" ") // फ़ंक्शन मान True लौटाएगा

वीरेग, एनआरईजी, टीरेग

स्ट्रिंग वेरिएबल्स की तुलना और रूपांतरण करते समय ये फ़ंक्शन बहुत उपयोगी होते हैं। "Vreg()" मूल स्ट्रिंग को अपरकेस में, "HPreg()" को लोअरकेस में लौटाएगा, और "TReg()" इसे प्रारूपित करेगा ताकि प्रत्येक व्यक्तिगत शब्द का पहला अक्षर बड़े अक्षरों में हो, और सभी बाद के अक्षर बड़े अक्षरों में हों।

वीआरईजी("सामान्य निदेशक") // वापसी मूल्य - "सामान्य निदेशक"
एनआरईजी ("सीईओ निदेशक") // वापसी मूल्य - "सीईओ"
TREG(“सीईओ निदेशक”) // वापसी मूल्य – “सामान्य निदेशक”

पृष्ठ बदलें

यह फ़ंक्शन प्रतिस्थापन के समान है पाठ संपादक. यह आपको स्ट्रिंग वेरिएबल्स में एक वर्ण या वर्णों के सेट को दूसरे से बदलने की अनुमति देता है।

StrReplace("लाल, सफेद, पीला", ","", ";") // रिटर्न "लाल; सफ़ेद; पीला"

StrNumberLines

फ़ंक्शन आपको टेक्स्ट वेरिएबल में कैरिएज रिटर्न द्वारा अलग की गई लाइनों की संख्या निर्धारित करने की अनुमति देता है।

नीचे दिए गए उदाहरण में लूप तीन राउंड से गुजरेगा क्योंकि LineNumberRow फ़ंक्शन मान 3 लौटाएगा:

Ind = 1 के लिए स्ट्रिंग्स की StrNumber ("Line1" + Symbols.PS + "Line2" + Symbols.PS + "Line3") साइकिल
<тело цикла>
अंतचक्र;

स्ट्रगेटस्ट्रिंग

यह फ़ंक्शन मल्टीलाइन टेक्स्ट के साथ पिछले वाले की तरह ही काम करता है। यह आपको टेक्स्ट वेरिएबल से एक विशिष्ट स्ट्रिंग प्राप्त करने की अनुमति देता है।

StrGetString ("स्ट्रिंग1" + कैरेक्टर.पीएस + "स्ट्रिंग2" + कैरेक्टर.पीएस + "स्ट्रिंग3", 2) // वापसी "स्ट्रिंग2"

पृष्ठ संख्या घटनाएँ

फ़ंक्शन खोज स्ट्रिंग में किसी वर्ण या सबस्ट्रिंग की घटनाओं की संख्या की गणना करता है।

StrNumberAttachments("a;b;c;d; ", ";") // फ़ंक्शन नंबर 4 लौटाएगा

प्रतीक और प्रतीक कोड

ये फ़ंक्शन आपको यूनिकोड एन्कोडिंग में इसके कोड द्वारा एक वर्ण प्राप्त करने की अनुमति देते हैं, साथ ही इस कोड को वर्ण द्वारा स्वयं निर्धारित करने की अनुमति देते हैं।

SymbolCode("A") // फ़ंक्शन 1,040 नंबर लौटाएगा
कैरेक्टरकोड(1040) // फ़ंक्शन "ए" लौटाएगा

स्ट्रिंग्स के साथ काम करते समय सामान्य कार्य

संयोजित तार

कई स्ट्रिंग्स को संयोजित करने के लिए (संयोजन करने के लिए), अतिरिक्त ऑपरेटर का उपयोग करना पर्याप्त है।

"पंक्ति 1" + "पंक्ति 2" // दो पंक्तियाँ जोड़ने का परिणाम "पंक्ति 1 पंक्ति 2" होगा

रूपांतरण टाइप करें

किसी प्रकार को स्ट्रिंग में बदलने के लिए, उदाहरण के लिए, किसी निर्देशिका तत्व का लिंक, संख्या इत्यादि, "स्ट्रिंग()" फ़ंक्शन का उपयोग करना पर्याप्त है। "ScrLP()" जैसे फ़ंक्शंस भी वेरिएबल्स को एक स्ट्रिंग में बदल देंगे, लेकिन महत्वहीन वर्णों को तुरंत काट देंगे।

स्ट्रिंग(1000) // रिटर्न "1,000"

कृपया ध्यान दें कि किसी संख्या को स्ट्रिंग में परिवर्तित करते समय, प्रोग्राम स्वचालित रूप से हजार को अलग करने वाला एक स्थान जोड़ देता है। इससे बचने के लिए, आप निम्नलिखित निर्माणों का उपयोग कर सकते हैं:

StrReplace(String(1000),Characters.NPP,"") // रिटर्न "1000"

स्ट्रिंग(प्रारूप(1000,'एचजी=')) // रिटर्न "1000"

एक स्ट्रिंग में उद्धरण

अक्सर आपको स्ट्रिंग वेरिएबल में उद्धरण चिह्न निर्दिष्ट करने की आवश्यकता से निपटना होगा। यह या तो विन्यासकर्ता में लिखा गया अनुरोध पाठ हो सकता है, या सिर्फ एक चर हो सकता है। इस समस्या को हल करने के लिए, आपको बस दो उद्धरण चिह्न लगाने होंगे।

हेडर = स्ट्रिंग ("हॉर्न्स एंड हूव्स एलएलसी - वह हम हैं!") // वापस आएगा "हॉर्न्स एंड हूव्स एलएलसी - वह हम हैं!"

मल्टी-लाइन, लाइन ब्रेक

मल्टी-लाइन टेक्स्ट बनाने के लिए, बस इसमें लाइन ब्रेक (Symbols.PS) जोड़ें।

मल्टीलाइनटेक्स्ट = "पहली पंक्ति" + प्रतीक.पीएस + "दूसरी पंक्ति"

रिक्त स्थान कैसे हटाएं

दाएं या बाएं स्थान को हटाने के लिए, आप "स्क्रैप()" फ़ंक्शन (साथ ही "स्क्रल()" और "स्क्रैप()") का उपयोग कर सकते हैं:

StringNoSpaces = संक्षिप्त नाम ("कई अक्षर") // फ़ंक्शन "कई अक्षर" मान लौटाएगा

यदि किसी संख्या को स्ट्रिंग में बदलने के बाद आपको हटाने की आवश्यकता है न टूटने वाली जगहें, निम्नलिखित निर्माण का उपयोग करें:

StringNoSpaces = StrReplace(String(99999),Characters.NPP,"") // रिटर्न "99999"

प्रोग्रामर अक्सर निम्नलिखित निर्माण का भी उपयोग करते हैं, जो आपको टेक्स्ट वेरिएबल में सभी रिक्त स्थान को हटाने या किसी अन्य वर्ण से बदलने की अनुमति देता है:

StringNoSpaces = StrReplace("हैलो","") // रिटर्न "हैलो"

तारों की एक दूसरे से तुलना करना

आप पदों की तुलना सामान्य समान चिह्न से कर सकते हैं। तुलना केस संवेदी है.

"हैलो" = "हैलो" // गलत रिटर्न देता है
"हैलो" = "हैलो" // सत्य लौटाता है
"हैलो" = "अलविदा" // गलत रिटर्न देता है

मित्रों को बताओ