2016-12-08 8 views
7

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

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

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

संपादित करें: मैंने इसके जवाब के लिए गुगलिंग का प्रयास किया, लेकिन यह असंभव साबित हुआ। मुझे बस वीबी 6 में लिखे गए ऐप्स से छपाई के बारे में कोडित किया गया था, आईडीई से स्रोत कोड प्रिंट नहीं किया गया था।

+0

शायद इन उत्पादों को देखकर शुरू करें: http://www.aivosto.com/ – Bob77

उत्तर

1

एक ऐड-इन लिखें। यह संदेह से कहीं अधिक आसान है।

स्टीवन रोमन (O'Really, 1999, आईएसबीएन 1-56592-527-0) द्वारा "डेवलपिंग विजुअल बेसिक एड-इन्स" पुस्तक को रोकें।

0

आप एक सॉफ्टवेयर कोड खोज उपकरण का उपयोग करने पर विचार कर सकते हैं जो तेजी से लुकअप और पुनर्प्राप्ति के लिए लैंगेज तत्वों को अनुक्रमणित करता है। इससे आपके लिए रुचि के कोड को ढूंढना आसान हो जाएगा, और यहां तक ​​कि उस पेपर को प्रिंट करने से बचें क्योंकि आप बस इसके बजाय कोड देखते हैं।

हमारे Source Code Search Engine कई भाषाओं के शब्दावली तत्वों को जानता है, खासकर वीबी 6 सहित। यह स्रोत कोड बेस (हजारों फाइलें) पढ़ता है और इसके खोज कोड तत्वों को तेजी से सहायता करने के लिए एक सूचकांक बनाता है। इसके जीयूआई का उपयोग करके आप इस तरह के रूप कोड के टुकड़े देखने के लिए भाषा तत्वों के मामले में प्रश्नों लिख सकते हैं:

 S=*Login* 

लगाने के लिए तार (केवल) कि पाठ शामिल "लॉगिन" (साधारण वाइल्डकार्ड का उपयोग), या

 'SUB' I=/[Aa]ccount.*/ 

जो सभी सबरूटीन्स जिसका नाम मिलेगा बयान है कि एक का उपयोग करते हैं खोजने के लिए पहले अक्षर पूंजीकरण (पूर्ण नियमित अभिव्यक्ति) या

 'IF' ... N>17<35 

की परवाह किए बिना "खाता" के साथ शुरू होता वाई मूल्य 17 से 35 (".." का अर्थ है "पास")। एन क्वेरी तत्व आपको निरंतर तेज़ी से और आसानी से उपयोग करने देता है।

क्वेरी भाषा की वास्तव में शक्तिशाली संपत्ति "और नहीं" है।

 I '+' I - I=xyz 

दो चर कि चर xyz शामिल नहीं हैं जोड़ा पाता है: यह आपको लगता है कि पाता है "बहुत अधिक" लापरवाही क्वेरी बनाने और उसके बाद "बहुत ज्यादा" भाग को खत्म करने की अनुमति देता है।

आप हिट की किसी भी सूची पर क्लिक कर सकते हैं, और कोड का टेक्स्ट GUI विंडो में आता है। कोई पेपर आवश्यक नहीं है।

क्योंकि यह प्रत्येक लैंगेज की शब्दावली संरचना जानता है, यह व्हाइटस्पेस, लाइनब्रैक, टिप्पणियों या यहां तक ​​कि पाठ जैसे कोड वाले स्ट्रिंग्स से भ्रमित नहीं है।

+0

हां पता है कि मैंने एक खोज योग्य डेटाबेस नहीं माना था। मैं कुछ मुद्रित करना चाहता था, क्योंकि मुझे कोड पर बहुत सारे पेंसिल नोट्स (और पहले से ही) करने की ज़रूरत है। क्या आपका उत्पाद टाइमबॉम्बवेयर या क्रिप्लवेयर है? डाउनलोड पेज मुझे एक बड़ी जानकारी फॉर्म में भेजता है, लेकिन किसी भी कीमत का उल्लेख नहीं करता है। – spinjector

+0

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

2

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

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

यदि आप बहुत सारे वीबी 6 कर रहे हैं तो मैं भी MZ Tools में शानदार जोड़ने की सलाह देता हूं। इसमें उत्कृष्ट खोज उपकरण हैं। दुर्भाग्य से अब मुफ्त नहीं है, लेकिन पैसे आईएमएचओ के लायक है। मेरे पास विक्रेता के साथ कोई संबंध नहीं है।

+1

पार्सिंग * दोस्ताना * कोड काफी सरल है (हालांकि आप यह उल्लेख करने में असफल रहते हैं कि आपको 'निजी', 'सार्वजनिक', 'मित्र' और 'स्टेटिक' जैसे एक्सेस संशोधक की तलाश करनी होगी, और 'संपत्ति प्राप्त करने/चलो/सेट करें), लेकिन यह तब दिलचस्प हो जाता है जब आपकी प्रक्रिया हस्ताक्षर में लाइन निरंतरता होती है, या निरंतर टिप्पणियां जिनके पास 'एंड सब' – ThunderFrame

+1

से शुरू होने वाली रेखाएं होती हैं वास्तव में, एमजेड-टूल्स का मुफ्त संस्करण अब उपलब्ध नहीं है, और है अब एक वाणिज्यिक लाइसेंस के रूप में विशेष रूप से उपलब्ध है। – ThunderFrame

1

प्रक्रियाओं और कार्यों के लिए मॉड्यूल को पार्सिंग हार्ड है, me पर विश्वास करें। विशेष रूप से इस तरह लाइन निरंतरता के साथ:

_ 
Public _ 
Sub _ 
Foo() ' _ 
End Sub 
_ 
End _ 
_ 
Sub _ 

इसके अलावा, एक संपत्ति End Property साथ समाप्त किया जा सकता, लेकिन यह भी End Function साथ या End Sub

सौभाग्य से, VB6 के लिए VBIDE वीबी परियोजनाओं के साथ काम करने के लिए और अधिक वर्गों और तरीकों है वीबीआईडी ​​के वीबीए संस्करण की तुलना में।

उन में से एक CodePane.Members संपत्ति है कि पहचानकर्ता के सभी का एक संग्रह रिटर्न है (हालांकि, मैं यह Type और Enum पहचानकर्ता को छोड़ देता है लगता है, लेकिन वे वैसे भी एक मॉड्यूल की घोषणाओं अनुभाग में घोषित कर रहे हैं) एक मॉड्यूल में।

enter image description here

और प्रत्येक सदस्य यह मॉड्यूल में स्थान है सहित विभिन्न गुणों को उजागर करता है: enter image description here

आप और अधिक विस्तार में पार्स करने में रुचि रखते हैं, और के लिए एक पूरी तरह से विशेष रुप से ऐड-इन में आईडीई, आपको Rubberduck-VBA पर GitHub पर एक नज़र डालना चाहिए (मैं एक योगदानकर्ता हूं)। यह वर्तमान में वीबीए होस्ट के साथ काम कर रहा है, लेकिन वीबी 6 सड़क मानचित्र पर है। यह उपलब्ध सबसे मजबूत वीबी पार्सर्स में से एक है, और यह ओपन-सोर्स है।

संबंधित मुद्दे

 संबंधित मुद्दे