2010-03-19 13 views
5

मैं आशा करती हूं किसी को मेरे लिए यह पर कुछ प्रकाश डाला सकता है के बीच मतभेद ?डेल्फी CompareStr और CompareString

दोनों आपको उपयोग करने के लिए लोकेल निर्दिष्ट करने देते हैं, क्या विंडोज़ एक उपलब्ध तुलना झंडे के कारण बस "पूर्ण" है? क्या एक दूसरे के मुकाबले तेजी से तेज है?

उत्तर

6

तुलनास्ट्रिंग लोकेल जानकारी का उपयोग करता है ताकि एई और æ जैसी चीजों को मैचों के रूप में माना जाता है, और सॉर्टिंग भौगोलिक क्षेत्र के लिए उपयुक्त है।

तुलना एसआरटी ('', loInvariantLocale) एक स्ट्रिंग में वर्णों की एक बाइट-बाय-बाइट तुलना है। तुलना एसआरटी ('', loUserLocale) आंतरिक रूप से तुलनास्ट्रिंग को कॉल करता है, इसलिए वे तुलनात्मक रूप से स्वीकार किए जा सकने वाले अतिरिक्त झंडे के अलावा समान हैं। यह भी रेखांकित है, इसलिए आपको इसके बीच की गति में कोई अंतर नहीं दिखना चाहिए और तुलनात्मक रूप से सीधे कॉल करना चाहिए।

+0

धन्यवाद क्रेग, मुझे यकीन नहीं था क्योंकि तुलना एसआरटी के लिए कोड (असेंबली) तुलनास्ट्रिंग का संदर्भ नहीं देता है - या कम से कम मैंने इसे पकड़ नहीं लिया: ओ) – Bourgui

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