विषयसूची:

VB6 में प्रोग्रामिंग: टिप्स और ट्रिक्स: 3 चरण
VB6 में प्रोग्रामिंग: टिप्स और ट्रिक्स: 3 चरण

वीडियो: VB6 में प्रोग्रामिंग: टिप्स और ट्रिक्स: 3 चरण

वीडियो: VB6 में प्रोग्रामिंग: टिप्स और ट्रिक्स: 3 चरण
वीडियो: Video 3 Condition Based Visual Basic Program 2024, जुलाई
Anonim
VB6 में प्रोग्रामिंग: टिप्स और ट्रिक्स
VB6 में प्रोग्रामिंग: टिप्स और ट्रिक्स

मैं अपने खाली समय में कार्यक्रम करता हूं, और वीबी6 का उपयोग करने वाला एक काफी कुशल प्रोग्रामर हूं। यह आसान है और मुझे अभी तक ऐसा कुछ भी नहीं मिला है जिसे पूरा करने के लिए मुझे इसकी आवश्यकता है, हालांकि कभी-कभी यह आपके कार्य को पूरा करने के लिए जटिल हो सकता है। रास्ते में मुझे बहुत सारी परेशान करने वाली चीजें मिलीं, ज्यादातर जिस तरह से यह कुछ चीजों को गिनता है। तो यहाँ कुछ चीजों का संकलन है जो मैंने रास्ते में सीखी हैं। मैं आपसे आग्रह करता हूं कि अगर आपको कोई समस्या है तो टिप्पणी करें और मैं और कदमों के साथ मदद करने की कोशिश करूंगा।

चरण 1: स्ट्रिंग्स

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

जिस तरह से VB स्ट्रिंग्स के साथ डील करता है वह कभी-कभी भ्रमित करने वाला होता है। टेक्स्ट के दोनों किनारों पर "abcdefg" put " सिंबल जिन्हें आप एक स्ट्रिंग के रूप में गिना जाना चाहते हैं, मिड (स्ट्रिंग, स्टार्ट, लेंथ) स्ट्रिंग स्ट्रिंग्स से टेक्स्ट के एक सेक्शन का चयन करता है। शून्य प्रारंभ तार 1textb = मध्य (texta, 2, 2) से शुरू होते हैं, यह चर textb = "bc"textb = मध्य (texta, 4, 4) बनाता है, यह चर textb = "defg" textb = मध्य (texta, 4 बनाता है), 5) इससे वेरिएबल textb = "defg" सही है यदि आप जिस टेक्स्ट को चुनने का प्रयास कर रहे हैं वह लंबा है तो उपलब्ध टेक्स्ट आपके प्रोग्राम के आधार पर अंतिम कैरेक्टर पर समाप्त होता है, आपको त्रुटियों से बचने के लिए ट्रैप लगाने होंगे। यह ऐसा एक जाल है: टेक्स्टबी = मध्य (टेक्स्टा, 4, 5) अगर लेन (टेक्स्टबी) <5 तो 'लेन() एक स्ट्रिंग की लंबाई देता है < का मतलब कम है तो संदेश बॉक्स "टेक्स्ट बहुत छोटा है" 'के साथ एक संदेश बॉक्स दिखाता है स्ट्रिंगेक्सिट उप 'यह उस उप से बाहर निकलता है जिसमें आप हैं। कोड को समाप्त करना। यदि आप किसी फ़ंक्शन में हैं तो आप स्ट्रिंग में किसी वर्ण के स्थान को ढूंढते हुए बाहर निकलने के फ़ंक्शन को डाल देंगे, हम instr (प्रारंभ, स्ट्री) का उपयोग करते हैं ng1, String2)texta = "abcdefg"textb = instr(1, texta, "c") 'यह अक्षर c को स्ट्रिंग में पाता है textatextb अब 3NOTE के बराबर है: Instr 0 (शून्य) लौटाता है यदि यह वर्ण REORGANIZING नहीं ढूंढता है: यह है एक कष्टप्रद व्यक्ति जिसे आप "abcdefg" को "defgabc"texta = "abcdefg"textb = मध्य (texta, 4, 4) और मध्य (texta, 1, 3) बनाना चाहते हैं, वह बहुत बुरा नहीं था, लेकिन अब instr में जोड़ें () फ़ंक्शन, आप एक पर्दे के चरित्र पर एक स्ट्रिंग को पुनर्गठित करना चाहते हैं, लेकिन यह एक ही स्थान नहीं है हर समय टेक्स्ट = "abcdefg" textb = "gfabdec" textc = मध्य (texta, instr (1, texta, "c"), len (texta)) - instr(1, texta, "c") + 1) और मध्य (texta, 1, instr(1, texta, "c") - 1) भाग len(texta) पर ध्यान दें - instr(1, texta, " c") + 1 क्योंकि instr उस वर्ण को गिनता है जिसे आप ढूंढ रहे हैं ताकि आप एक वर्ण वापस जाएं ताकि मध्य() उस वर्ण को ले ले जिसे आप स्ट्रिंगटेक्स्ट में पहले के रूप में ढूंढ रहे हैं, अब बराबर है "cdefgab"textd = mid(textb, instr(1, textb, "c"), len(textb) - instr(1, textb, "c") + 1) और मध्य (textb, 1, instr(1, textb, "c") - 1)textd अब बराबर ls "cgfabde" एक ऐसे चरित्र को खोजने का प्रयास करता है जो stringtexta = "abcdefg"textc = mid(texta, instr(1, texta, "h"), len(texta) में नहीं है - instr(1, texta, "h") + 1) और मध्य (टेक्स्टा, 1, इंस्ट्र (1, टेक्स्टा, "एच") - 1) आपको एक त्रुटि मिलती है क्योंकि मध्य () का प्रारंभ भाग = 0 नहीं हो सकता क्योंकि स्ट्रिंग 1 से शुरू होती है, इसलिए आपको रनटाइम से बचना होगा त्रुटि। यह करने का एक तरीका है ittexta = "abcdefg" यदि instr(1, texta, "h") 0 तोtextc = mid(texta, instr(1, texta, "h"), len(texta) - instr(1, texta, "h") + 1) और मध्य (texta, 1, instr(1, texta, "h") - 1) और 'केवल एक अन्य कथन प्रति यदि स्थिति संदेश बॉक्स "स्ट्रिंग में वर्ण नहीं ढूंढ सकता" 'के साथ एक संदेश बॉक्स दिखाता है स्ट्रिंगेंड अगर यह स्ट्रिंग्स के बारे में आपको जो कुछ भी जानने की जरूरत है, उसे बहुत कुछ बताता है

चरण 2: वर्णों को परिवर्तित करना

परिवर्तित वर्ण
परिवर्तित वर्ण

हेक्स: इस सप्ताह की शुरुआत में मैंने पाया कि हेक्स (संख्या) फ़ंक्शन के साथ संख्या पर लंबाई कोई फर्क नहीं पड़ता। यह हेक्सहेक्स (11111111) में एक स्ट्रिंग देता है "ए 98AC7" लौटाता है जब एक एएससीआई चरित्र को हेक्स में परिवर्तित करते हैं तो आप dotexta = "a"hex(asc(texta)) रिटर्न "61"texta = "k"hex(asc(texta)) रिटर्न "6B" स्ट्रिंग में ASCI के अधिकांश वर्णों के लिए 2 वर्ण होंगे, जब तक कि वे 16 के मान से कम न हों तो यह केवल 1 वर्ण लौटाता है यदि आप चाहते हैं कि वे सभी 2 वर्ण हों तो आप निम्नानुसार करेंगे: टेक्स्टबी = हेक्स (एएससी (टेक्स्टा)) यदि लेन (टेक्स्टबी) = 1 तो टेक्स्ट बी = "0" और टेक्स्ट बी 'जो कि एक शून्य नहीं है कैपिटल ओएंड अगर

चरण 3: फ़ाइल संपादन

फ़ाइल संपादन
फ़ाइल संपादन

एक फ़ाइल खोलने के लिए आपको एक फ़्रीफ़ाइल और एक फ़ाइलनाम की आवश्यकता होगी = फ़्रीफ़ाइल 'gfile अब अगला उपलब्ध है freefilec = "c:\test.txt" फिर फ़ाइल खोलने के 4 तरीके हैं इनपुट - आप केवल पढ़ सकते हैं। आउटपुट - आप केवल लिख सकते हैं और यदि यह मौजूद है तो यह फ़ाइल को मिटा देगा। कैरिज रिटर्न और लाइनफीड अंतिम अक्षर संलग्न करें - आप केवल लिख सकते हैं। यह मौजूदा फाइल में जोड़ देगा। कैरिज रिटर्न और लाइनफीड अंतिम अक्षर बाइनरी - पढ़ें और लिखें। बहुत स्पष्ट। केवल एक ही मैं अब उपयोग करता हूं। लॉग फ़ाइलों के निर्माण के लिए और इस तरह के उपयोग के लिए यह फ़ाइल के अंत में नई प्रविष्टि जोड़ देगा। अधिक जटिल लॉग फ़ाइलों के लिए पूरी फ़ाइल को एक चर में लोड करें और शुरुआत में नई प्रविष्टि जोड़ें file.dim stro as string 'यह आवश्यक है या एक errorgfile = FreeFilec = "c:\test.txt" ओपन सी होगा बाइनरी के रूप में #gfile 'याद रखें कि gfile एक नंबरस्ट्रो = स्पेस $ (lof (gfile)) है। 'बाइनरी के लिए खोलते समय आपको यह बताना होगा कि आप कितना बड़ा टेक्स्ट लेना चाहते हैं, लोफ (जीफाइल) जीफाइल की लंबाई लौटाएगा और स्पेस $ () रिक्त स्थान की एक स्ट्रिंग देता है जो आपके द्वारा दर्ज की गई संख्या की लंबाई #gfile, 1, stro 'फ़ाइल संख्या से प्राप्त करें, इसे सहेजने के लिए बाइट, चर शुरू करें। और केवल चर की लंबाई को लोड करता हैबंद करें #gfilestro अब फ़ाइल test.txt के बराबर है। बाइनरी के लिए मूल टेक्स्टोपेन सी के बाद #ffilekill cput #ffile, 1, stro 'पुट पिछली जानकारी को अधिलेखित कर देता है यदि फ़ाइल छोटी हो रही है तो आपको फ़ाइल को पहले मारना चाहिए जो इसे हटा देता है #ffileफ़ाइल अब इटोन चीज़ में "नई लाइन" है मैंने पुट फंक्शन के साथ पाया कि इसमें त्रुटियाँ हैं यदि आप #ffile, 133, chr(1) ' जैसे वर्ण डालने का प्रयास करते हैं तो यह वर्ण 1 या हेक्स 0x01 के साथ बाइट 133 पर वर्ण को बदल देता है मैंने पाया कि जब मैंने इसे एक प्रोग्राम के साथ किया था I इसे वास्तव में हेक्स 0x08000100000001 जोड़ा गया जो कि अजीब है। मैंने फ़ाइल को एक चर में लोड करके और स्ट्रिंग modsi = 133stro = mid (stro, 1, i - 1) और chr (1) और मध्य (stro, i + 1, len (stro) - i) करके हल किया। #ffile, 1, स्ट्रोथिस ने पूरी तरह से काम किया

सिफारिश की: