2008-10-29 8 views
26

मैं एक विजुअल बेसिक व्यक्ति का अधिक नहीं हूं, लेकिन मुझे पुराने वीबी 6 ऐप को बनाए रखने के लिए काम सौंपा गया है। जब भी मैं एक फ़ाइल की जांच करता हूं, तो संपादक अपरकेस वैरिएबल नामों का एक गुच्छा स्वचालित रूप से लोअरकेस के साथ बदल देगा। मैं यह रोक कैसे बना सकता हूं !? मैं उन्हें सभी को वापस नहीं बदलना चाहता हूं, और जब मैं वास्तविक मतभेदों का पता लगाने की कोशिश कर रहा हूं, तो इन परिवर्तनों को SourceSafe "मतभेद" में दिखाया जाना एक दर्द है।वीबी 6 संपादक चर नामों के मामले बदल रहा है!

यह परिभाषा में स्वचालित रूप से इसे बदल रहा है: नियंत्रण के रूप में मंद सी नियंत्रण के रूप में मंद सी बन जाता है। मंद एक्स & मंद x & बन जाता है। लेकिन यह हर समय ऐसा नहीं करता है; उदाहरण के लिए, Dim x & से नीचे तीन पंक्तियां, एक मंद वाई &, अपरकेस है, जो यह नहीं बदला है। यह मेरे लिए ऐसा क्यों करता है?

+0

'vb6' + 'ide' के रूप में पुनः प्राप्त –

+0

संभावित डुप्लिकेट [मेरे आवरण को बदलने से विजुअल बेसिक 6 रोकें] (https://stackoverflow.com/questions/1064858/stop-visual-basic-6-from-changing -मी-आवरण) – DaveInCaz

उत्तर

29

DJ's answer से जारी है ...

और यह केवल या तो एक ही दायरे में चर के मामले परिवर्तन नहीं होगा।

यह आपके पूरे प्रोजेक्ट में एक ही नाम के साथ सभी चर के मामले को बदल देगा। इसलिए यदि उन्हें एक ही स्थान पर अपरकेस में घोषित किया गया है, तो अन्य मॉड्यूल में लोअरकेस में समान चर नामों का उपयोग करके अलग-अलग चर हो सकते हैं, जिससे आपकी प्रोजेक्ट में सभी चर कम हो जाते हैं, इस पर निर्भर करता है कि कौन सी घोषणाएं लोड की गई थीं? (या) आखिरी संपादित

इसलिए आपका सी और एक्स चर बदलता मामला बदल रहा है, जबकि वाई नहीं है, संभवतः क्योंकि सी और एक्स को आपकी परियोजना में कहीं और घोषित किया गया है, लेकिन लोअरकेस में, जबकि वाई नहीं है।

इसका एक और उल्लेख here है, जहां वे अधिकांशतः ऐसे चर नामों से चिंतित हैं जब वैश्विक चर से स्थानीय को अलग करने के लिए मामले का उपयोग किया जा रहा है। वे इसके बजाय उपसर्ग के लिए जा रहे हैं।

एकमात्र विकल्प मैं के बारे में सोच सकते हैं VB6-प्रकाश डाला क्षमताओं के साथ कुछ अन्य संपादक का उपयोग करने के लिए अपने संपादन करने के लिए ...

+0

बस इसमें एक उत्तर मिला: https://stackoverflow.com/questions/1064858/stop-visual-basic-6-from-changing-my-casing "सरल तरीके" से शुरू होने वाले उत्तर को " UserX "... मैं यहां जवाब पेस्ट कर दूंगा: सरल तरीका: आप जिस मामले में चाहते हैं उसमें प्रत्येक चर को मंद करें। अन्यथा, वीबीए इसे इस तरह से बदल देगा जो समझ में नहीं आता है। 'डिम एक्स, एक्स 1, एक्स 2, वाई, वाई, एक सबराउटिन में के रूप में डिम स्टेटमेंट – sirboderafael

-1

इसे निचले मामले में परिभाषित/घोषित किया जाना चाहिए। घोषणा का पता लगाएं और इसे ठीक करें। आईडीई हमेशा घोषणा से मेल खाने के लिए मामला बदल देगा।

+4

-1 असत्य। वीबी 6 स्कोप और स्पष्ट परिभाषाओं के बावजूद, नाम केसिंग को बदलता है क्योंकि यह प्रसन्न होता है। जैसा कि अन्य ने कहा है। परिभाषा के लिए कोई बिंदु नहीं जा रहा है और इसे ठीक कर रहा है। यह अलग-अलग दायरे में कुछ और परिभाषा तोड़ देगा। यह बहुत यादृच्छिक है, इस पर निर्भर करता है कि कौन सी फाइलें पिछली बार छू गई थीं। –

+1

-1। हमेशा सच नहीं है। यदि आपके पास एक ही प्रोजेक्ट पर वर्जन कंट्रोल के साथ काम करने वाली एक टीम है, तो वीबी 6 कभी-कभी नाम चेकिंग बदलता है जब आप चेक इन करते हैं। यह घोषणापत्र * और * अपने स्वयं के कारणों के लिए उपयोग को बदलता है। कभी यह पता नहीं लगा कि यह करने के लिए क्या ट्रिगर करता है। – MarkJ

-1

डीजे स्पॉट पर है ... वीबी हमेशा मूल घोषणा से मेल खाने के लिए चर के मामले को बदलता है। यह एक 'फीचर' है।

+2

यदि आपके पास एक ही वैरिएबल नाम एकाधिक स्कॉप्स में घोषित किया गया है, लेकिन अलग-अलग आवरण के साथ, यह आपके द्वारा पिछली बार संपादित की गई फ़ाइल के आधार पर * उनमें से सभी * को वापस और बल बदल देगा। –

3

दर्दनाक फ़ाइल diff अनुभव अतीत प्राप्त करने के लिए है, diff संवाद में वीएसएस विकल्प सेट केस-असंवेदनशील तुलना करने के लिए। इस तरह आप केवल "वास्तविक" परिवर्तन देखेंगे।

5

Enums भी बदतर हैं। मामले को गलत होने पर एनम का उपयोग कहीं भी परिभाषा के मामले में बदल जाता है।

+2

में सभी मामलों को बदल देगा, यह सिर्फ इतना नहीं है, यह एनम सदस्य के समान नाम वाला कोई भी चर है। उह, बस बेकार है। –

-1

मर्केटर का उत्कृष्ट जवाब से जारी है ...

मैं सलाह देते हैं:

  1. चेक बाहर सभी फाइलों
  2. क्या एक के पुनर्निर्माण (मैं तुम्हें एक VB6 अनुप्रयोग के लिए वीएसएस का उपयोग कर रहे मान) पूरी परियोजना समूह
  3. की पुनः जांच वीएसएस में वापस

अब आधार के आप वास्तविक मतभेद अधिक तत्पर हैं 'ऑटो' परिवर्तनों की तुलना में आरबीबी ने आवेदन करने की कोशिश की है।

+0

तो आपका समाधान है: इसे सब कुछ बदलना चाहिए (अर्थात्: यादृच्छिक रूप से) और इसके साथ रहें? महान! माफ़ कीजिये। मैं अलग-अलग नामकरण सम्मेलनों के साथ कई परियोजनाओं से विलय कोड के साथ काम कर रहा हूं। मेरा (अन्यथा छोटा) चेकिन ज्यादातर नाम आवरण में यादृच्छिक परिवर्तन का शोर है। मैंने बहुत किया! –

+1

हाँ, यह मेरी सिफारिश है, वीबी आपके चर के मामले को किसी कारण ('यादृच्छिक रूप से नहीं') के लिए बदलने की कोशिश कर रहा है, अगर आप केवल वही देखना चाहते हैं जो आपने बदला है और आप इसे करने के लिए विजुअल स्टूडियो का उपयोग करना चाहते हैं, तो बेसलाइन पहले। –

+0

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

1

सभी वीबी परियोजनाओं को बंद करें, एक टेक्स्ट एडिटर के साथ फॉर्म फ़ाइल खोलें, सभी नामों का मामला बदलें, फिर वीबी आईडीई के साथ परियोजना को फिर से खोलें।

0

रोकें VB6 ऑटो enum के लिए सही

को महत्व देता है मेरी सामान्य नियम के रूप मैं अपरकेस में स्थिरांक की घोषणा। चूंकि enums अनिवार्य रूप से स्थिरांक हैं, मैं अपरकेस में भी enums के लिए मूल्य घोषित करना पसंद करता हूं। मैंने देखा कि वीबी 6 आईडीई भी ऑटो सुधारता है।

मुझे पता चला कि आईडीई मानों का उपयोग करते समय इन मानों को सही नहीं करते हैं और मान नामों में अंडरस्कोर '_' का उपयोग करते हैं।

उदाहरण:

Public Enum myEnum 
    VALUE  'Will be corrected to: Value 
    VALUE1  'Will not be corrected 
    VALUE_  'Will not be corrected 
End Enum 

मैं अगर यह सामान्य रूप में काम करता है और अगर यह नामकरण चर नाम की/स्वत: सुधार के लिए प्रदान नहीं जानता।

13

जब से मैं हमेशा पहले, गड़बड़-अप आवरण के लिए एक समाधान की तलाश में यहाँ इस सूत्र को खोजने के एक Simon D एक related question में प्रस्तावित है:

तुम सिर्फ ठीक एक चर के आवरण करने की जरूरत है (उदाहरण के लिए आप गलती से एक cOrrectCAse चर बना दिया है और अब वे हर जगह कर रहे हैं), तो आप अपने मॉड्यूल की शुरुआत करने के लिए

#If False Then 
    Dim CorrectCase 
#End If 

जोड़कर अच्छे के लिए इसे ठीक कर सकते हैं। यदि आप प्रोजेक्ट को सहेजते हैं और बाद में कथन हटा देते हैं, तो आवरण सही रहता है।

एक्सेल VBA मैं अक्सर गलती से सब Range.RowRange.row को लापरवाही से कुछ समारोह के अंदर एक row चर मंद करके बदलने का उपयोग करना - मैं अब इसे ठीक कर सकते साइमन D के समाधान की मदद से।

+0

यह समाधान है। – FuriousFolder