2012-04-06 11 views
5

मैं कुछ पुराने VB6 कोड के माध्यम से और कई रूपों में जा रहा हूँ, मैं की तरह घोषणा बयान मुठभेड़ -वीबी 6 में, घोषित फ़ील्ड में डिफ़ॉल्ट मान हैं?

PEC_NUM_ENT(1) As Byte 
EC_MORE_RW_EXIST(0) As Byte 
EC_CODE_IND(0) As Byte 
EC_DATA(7) As PRXDetail 

मेरा प्रश्न है, इन क्षेत्रों डिफ़ॉल्ट मान है? यदि हां, तो मूल्य क्या हैं? धन्यवाद।

+0

संबंधित प्रश्न http://stackoverflow.com/questions/4284216 (डुप्लिकेट नहीं के) – MarkJ

+0

वीबी में चर "फील्ड" बुला का विचार है हो सकता है थोड़ा ... अजीब। – Bob77

+0

@BobRiemersma क्या फ़ील्ड केवल कक्षाओं से संबंधित "चर" को संदर्भित करते हैं? – CodeBlue

उत्तर

11

हां। संख्यात्मक और दिनांक प्रकार 0 पर डिफ़ॉल्ट हैं, एक खाली स्ट्रिंग (यानी, ""), बूलियन टू फाल्स, और ईएमपीटीई के लिए संस्करण।

+0

उत्तर देने के लिए धन्यवाद। जावा में "नल" की तरह ईएमपीटीई है। इस मामले में EC_DATA प्रारंभ में ईएमपीटीई होगा? – CodeBlue

+2

खाली शून्य के समान नहीं है। जैसा कि मुझे याद है, एक संस्करण मूल रूप से एक अनियमित टाइप किया जाता है जब तक इसका उपयोग नहीं किया जाता है - इसलिए यदि यह पहले स्ट्रिंग के रूप में उपयोग किया जाता है, तो खाली "" है, आदि। मैं ईसी_DATA को याद करता हूं, जो PRXDetail की एक सरणी है - जाहिर है उपयोगकर्ता परिभाषित प्रकार। मुझे यकीन नहीं है, लेकिन संदेह है कि यूडीटी के प्रत्येक क्षेत्र में डिफ़ॉल्ट मान होंगे। मुझे यकीन है कि कैसे VB6 हुड के नीचे यूडीटी को संभालता है, लेकिन मुझे संदेह है कि सरणी के प्रत्येक तत्व एक स्मृति स्थान है। मूल्य EC_DATA (0) द्वारा प्राप्त किए जाएंगे। फ़ील्डनाम और आगे। – mdoyle

+0

+1 हां, यदि किसी अभिव्यक्ति में एक खाली संस्करण का उपयोग किया जाता है, तो यह अभिव्यक्ति के आधार पर मान 0 या खाली स्ट्रिंग के रूप में मूल्यांकन करेगा। – MarkJ

7

से VB6 documentation

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

PRXDETAIL लगता है कि उस उपयोगकर्ता परिभाषित प्रकार