विषयसूची:

मैट्रिक्स कोड - विजुअल बेसिक: 7 चरण
मैट्रिक्स कोड - विजुअल बेसिक: 7 चरण

वीडियो: मैट्रिक्स कोड - विजुअल बेसिक: 7 चरण

वीडियो: मैट्रिक्स कोड - विजुअल बेसिक: 7 चरण
वीडियो: Pay Matrix Table 6, 7, 8 & 9 #7th #paymatrix #pay #govtemployees #govtemployeeslatestnews 2024, सितंबर
Anonim
मैट्रिक्स कोड - विजुअल बेसिक
मैट्रिक्स कोड - विजुअल बेसिक

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

चरण 1: मेरा कोड पकड़ो

मैंने नीचे अपना कोड संलग्न किया है। दोनों फाइलों (startMatrix.itsabat और matrix.itsavbs) को अपनी मशीन पर एक ही फोल्डर में सेव करें, और फाइलनाम के "itsa" हिस्से को हटा दें, यानी फाइलों का नाम बदलकर startMatrix.bat और matrix.vbs कर दें। बैट फाइलें और वीबीएस फाइलें निष्पादन योग्य हैं, और इसलिए मैं उन्हें यहां उन एक्सटेंशन के साथ अपलोड नहीं कर सकता। यही कारण है कि आपको उन्हें स्थानीय रूप से सहेजना और उनका नाम बदलना होगा।

चरण 2: कोड निष्पादित करना

यदि आप मेरा कोड चलाना चाहते हैं, तो नीचे दिए गए निर्देशों का पालन करें। यदि आप अपनी मशीन पर कुछ ऐसा निष्पादित नहीं करना चाहते हैं जिसके बारे में आप कुछ भी नहीं जानते हैं, तो आप स्मार्ट हैं। आपको अगले चरण पर जाना चाहिए, जहां मैं कोड के माध्यम से चलता हूं और आपको दिखाता हूं कि मैंने कुछ भी गलत नहीं किया है। हालांकि, अगर आप इसे प्राप्त करना चाहते हैं (या आप किसी और की मशीन पर हैं और नहीं देखभाल), यहां बताया गया है कि कोड को कैसे शुरू किया जाए: चरण 1: "startMatrix.bat" पर डबल-क्लिक करें। बस। अब आपने जो शीतलता देखी है, उसके बारे में पढ़ने के लिए अगले चरण पर जाएं।

चरण 3: कोड को समझना, भाग 1

आइए शुरुआत से शुरू होने वाले कोड पर एक नज़र डालें। उम्मीद है कि आप मेरे कोड से वीबी के बारे में पर्याप्त सीख सकते हैं कि आप मुझसे बेहतर तरीके से वीबी में कोड करना सीखेंगे:) तो सबसे पहले, हमारे पास 2 फाइलें हैं: एक बैट फाइल और एक वीबीएस फाइल। यदि आप बैट फ़ाइल को संपादित करते हैं, तो आप देखेंगे कि यह विंडो, टेक्स्ट रंग और विंडो शीर्षक को सेट करने के बाद, vbs फ़ाइल को निष्पादित करता है। चलो vbs फ़ाइल में और अधिक दिलचस्प सामग्री पर चलते हैं।FYI करें, मैं यहां केवल कोड की सबसे दिलचस्प पंक्तियों को स्पर्श करने जा रहा हूं। साथ ही, '(टिक, या एकल उद्धरण) से शुरू होने वाली पंक्तियों पर विशेष ध्यान दें।. ये टिप्पणियां हैं, और इन्हें निष्पादित नहीं किया जाएगा। मैट्रिक्स.वीबीएस की पहली कुछ पंक्तियां कहती हैं "मेरे त्रुटि संदेशों को स्पष्ट स्तर पर सेट करें" लेकिन साथ ही साथ "मेरे द्वारा की गई किसी भी गलती को घातक न होने दें।" कोई वास्तविक चर्चा की आवश्यकता नहीं है। पंक्ति 5: यहाँ हमारा मंद कथन उन सभी चरों को सेट करता है जिनका उपयोग हम अपने छोटे से कार्यक्रम के जीवन भर करेंगे। हमें इन चरों के लिए प्रकार, या उनके लिए प्रारंभिक मान घोषित करने की आवश्यकता नहीं है, जैसा कि हम कुछ अन्य भाषाओं में कर सकते हैं। वीबी इस तरह "शक्तिशाली" है। लाइन 12: objSysInfo हमें उस सिस्टम पर कुछ जानकारी इकट्ठा करने देता है जिस पर हम चल रहे हैं। हम यहां ऑब्जेक्ट बनाते हैं, और लाइन 13 पर, objSysInfo. UserName वर्तमान में लॉग इन उपयोगकर्ता का नाम देता है जो इस कोड को निष्पादित कर रहा है। इसे बाद में "नियो" के स्थान पर उपयोग किया जाएगा, ताकि हमारी स्क्रिप्ट "वेक अप, मार्टिन …" कह सके, अगर यह मेरी मशीन पर चल रही है, या "वेक अप, ब्रेनन 10 …" अगर इसे ब्रेनन 10 की मशीन पर चलाया जा रहा है और यदि वह उसका उपयोगकर्ता नाम था। सिस्टम के उपयोगकर्ता नाम का उपयोग करने से आप इसे अपने मित्र की अनलॉक की गई मशीन पर फेंक सकते हैं और यह कोड को बदले बिना उसका नाम अपने आप खींच लेगा।चलो आगे बढ़ते हैं।

चरण 4: कोड को समझना, भाग 2

लाइन 16: सब वेटरफॉर हमारा पहला सबरूटीन है। कोड में एक अलग स्थान से एक सबरूटीन को कॉल किया जा सकता है, सबरूटीन के शरीर के भीतर कोड को निष्पादित करेगा, और फिर कॉलिंग कोड पर प्रोग्राम नियंत्रण लौटाएगा। Waitfor हमारे लिए हमारे खोल को सेट करता है। लूप के भीतर "स्लीप" के साथ लूप में ऐसा करने से, हम शेल के सक्रियण को नियंत्रण वापस आने से पहले पूरा करने की अनुमति देते हैं, जो एक बहुत अच्छी बात है। लाइन 26: सब मैट्रिक्स हमारा दूसरा सबरूटीन है, और एक लेता है "तत्व" नामक पैरामीटर। यह सबरूटीन उन शांत नंबरों की छपाई करता है जो "गिरने" के लिए दिखाई देते हैं, जैसा कि फिल्म में है।मैंने यहाँ कुछ बातों को ध्यान में रखा है। उम्मीद है कि उन्हें समझाकर आप समझ गए होंगे कि मैं कहां से आ रहा हूं और इसे I से बेहतर कर सकता हूं। सबसे पहले, मुझे लगता है कि आपको केवल 5 कॉलम की संख्या चाहिए, और "तत्व" कॉलम की संख्या से विभाज्य है (5) यह गारंटी देना आसान था क्योंकि बाद में मैं "मैट्रिक्स" को दिए गए मापदंडों को 200 और 100 (इसे दो बार कहा जाता है) घोषित करता हूं। मैं यह भी मानता हूं कि आप सभी 5 कॉलम डिफ़ॉल्ट रूप से चालू करना चाहते हैं। मुझे लगता है कि यह ठीक दिखता है, लेकिन आप इनमें से कुछ को FALSE में बदल सकते हैं यदि आप चाहते हैं कि संख्याओं की पहली पंक्ति बाकी पंक्तियों की तरह यादृच्छिक लगे। ठीक है, इसलिए हमारे पास 5 कॉलम हैं, हमारे पास 200 / हैं ५ = ४० पंक्तियों को प्रदर्शित करने के लिए (लाइन्सटॉराइट), और हमारे सभी कॉलम डिफ़ॉल्ट रूप से चालू हैं। लाइन ४१: हम दो "फॉर" लूप में प्रवेश करते हैं, जिनमें से पहला (लूप ए) हमारी लाइनों के माध्यम से चक्र करता है ToWrite और दूसरा (लूप बी) जो स्तंभों की संख्या के माध्यम से चक्र करता है। लूप बी में, हम लूप वेरिएबल लूपबी के मान पर चयन करते हैं, और इसके मान के आधार पर हम इफ-एल्स स्टेटमेंट का मूल्यांकन करते हैं। यदि विचाराधीन कॉलम सक्षम है ("TRUE", या "चालू"), तो हम "wshshell. SendKeys" के माध्यम से, Int(Round(rnd())) के मान को प्रिंट करेंगे, उसके बाद एक टैब होगा। अन्यथा, हम केवल एक टैब प्रिंट करेंगे, जैसे कि कॉलम खाली दिखाई देता है। तो Int(Round(rnd())) का मान क्या है? rnd() 0.0 और 1.0 के बीच एक यादृच्छिक फ़्लोटिंग पॉइंट नंबर देता है, राउंड() उस मान को ले जाएगा और इसे निकटतम इंटीजर मान पर ले जाएगा, और Int() परिणाम को इंटीजर में डाल देता है। इस अंतिम चरण को ओवरकिल माना जा सकता है, क्योंकि राउंड () कॉल हमें 0 या 1 देना चाहिए। मैंने इसे सिर्फ आदत के कारण किया। किसी बिंदु पर किसी ने मुझे बताया होगा कि यह सुरक्षित था, और मैं स्पष्ट रूप से इसे अभी तक नहीं भूल पाया हूं। भाग 3 पर …

चरण 5: कोड को समझना, भाग 3

निरंतर उप मैट्रिक्स, यहाँ VB की अगली कुछ पंक्तियाँ हैं…' यह फ्लिप-फ्लॉप कॉलम, 'इसलिए यदि कोई कॉलम बंद है, तो यह 30 प्रतिशत समय पर चालू हो जाएगा,' और यदि कोई कॉलम चालू है, तो यह होगा 30 प्रतिशत समय बंद कर दिया। टर्नऑफमैक्स = ०.३० टर्नऑनमैक्स = ०.३० प्रत्येक कॉलम को ३०% बार टॉगल करने से संख्या कॉलम यादृच्छिक रूप से "गिरते" हैं जैसे वे फिल्म में करते हैं। सटीक नहीं, लेकिन करीब। ' कॉलम 1 फ्लिप-फ्लॉप फ्लिपमी = आरएनडी () अगर ((कॉल 1 = टर्नऑन) और (फ्लिपमे <टर्नऑफमैक्स)) तो कॉल 1 = टर्नऑफ और अगर ((कॉल 1 = टर्नऑफ) और (फ्लिपमे <टर्नऑनमैक्स)) तो कॉल 1 = टर्नऑन एंड इफ उपरोक्त ब्लॉक संभालता है कि हम कैसे निर्धारित करते हैं कि हम अगले पुनरावृत्ति के दौरान दिए गए कॉलम में संख्याओं की अगली पंक्ति के लिए एक संख्या प्रदर्शित करने जा रहे हैं। कोड पढ़ता है "यदि कॉलम चालू है, और फ्लिपमी नामक यादृच्छिक संख्या 30% से कम है, तो कॉलम बंद करें। अन्यथा, यदि कॉलम बंद है और फ्लिपमी 30% से कम है, तो कॉलम चालू करें।" वह लपेटता है उप मैट्रिक्स ऊपर। उपकुंजी पर…

चरण 6: उप कुंजी ()

कुंजी विधि नीचे है। उप कुंजी (संदेश)' "मैट्रिक्स" संदेशों के प्रिंटआउट करें, और उन्हें मिटा दें.sleep 250nextwscript.sleep 3000 स्थिति = 1 से लंबाई wshshell के लिए। SendKeys "{BACKSPACE}" wscript.sleep 75nextend subयह विधि एक स्ट्रिंग "msg" को प्रिंट करती है। यह आपके द्वारा पास की गई किसी भी चीज़ को प्रिंट करेगा। इस विधि को बाद में कोड में कहा जाता है। पहला फॉर लूप स्ट्रिंग में प्रत्येक वर्ण को एक बार में प्रिंट करता है, और प्रत्येक वर्ण के बीच में 250 मिलीसेकंड के लिए रुकता है। फिर हम ३००० मिली (३ सेकंड) सोते हैं और हमारे द्वारा पहले छपे प्रत्येक चरित्र के लिए एक बैकस्पेस लिखते हैं, इस बार थोड़ा कम सोते हैं। बस इतना ही इसमें है। कार्यक्रम के मुख्य भाग पर, जहाँ सब कुछ एक साथ आता है।

चरण 7: मुख्य

कार्यक्रम का मुख्य निष्पादन सब कुछ सेट करने और 5 कॉलम में फैले 200 बाइनरी अंकों को लिखने के लिए प्रतीक्षाफोर और मैट्रिक्स (जिसे हम पहले ही कवर कर चुके हैं) कहते हैं। वर्तमान सिस्टम उपयोगकर्ता का नाम तब पकड़ा जाता है और "वेक अप" अनुक्रम के एक भाग के रूप में मुद्रित होने के लिए हेरफेर किया जाता है। फिर हम एक फॉर लूप दर्ज करते हैं, जिसे हम जानते हैं कि हम "1" के कारण केवल 4 बार से अधिक पुनरावृति करेंगे। 4 "बाधा के लिए। फिर हम अपने लूप वेरिएबल (लूपए) पर सेलेक्ट करते हैं, जो पहले केस स्टेटमेंट से पहली बार मेल खाता है, दूसरा केस स्टेटमेंट दूसरी बार लूप के माध्यम से, आदि। लूप के प्रत्येक पुनरावृत्ति, myString को सही स्ट्रिंग प्रतिनिधित्व पर सेट किया गया है जिस क्रिया को हम प्रिंट करना चाहते हैं, और कुंजी सबरूटीन को वास्तव में प्रिंटिंग करने के लिए कहा जाता है। स्पष्ट रूप से इस लूप को डिज़ाइन करने के कई अन्य तरीके हैं, और मैं इसे पाठक के लिए एक अभ्यास के रूप में छोड़ दूँगा। एक बार जब हम फॉर लूप से बाहर निकल जाते हैं, तो हम एक बार फिर मैट्रिक्स सबरूटीन को और अधिक संख्याओं को प्रिंट करने के लिए कहते हैं। जैसा कि कोड में टिप्पणी कहती है, यदि आप चाहें तो इस अंतिम कॉल को मैट्रिक्स () में लूप में डाल सकते हैं, या आप इसे केवल एक बड़ी संख्या के साथ कॉल कर सकते हैं, आदि। अंत में, छोड़ने के लिए हमारा कॉल () कार्यक्रम को रोकता है निष्पादन (हमेशा अच्छा अभ्यास: पी)। आशा है कि सभी को मेरा उदाहरण लेने और इसे बेहतर बनाने में मज़ा आएगा! यदि इस निर्देशयोग्य ने आपकी जिज्ञासा को VB के साथ बढ़ा दिया है, तो Google इसके बारे में अधिक जानने के लिए एक टन अच्छे संसाधन प्रदान कर सकता है जो मैं आपको बता सकता हूं। हैप्पी कोडिंग! मार्टिन

सिफारिश की: