2016-11-21 11 views
5

एक या तोPathDelim वी.एस. DirectorySeparatorChar

  • System.IOUtils.TPath.DirectorySeparatorChar

http://docwiki.embarcadero.com/Libraries/Seattle/en/System.IOUtils.TPath.DirectorySeparatorChar

या

  • System.SysUtils.PathDelim
उपयोग कर सकते हैं

क्या कोई विशेष अंतर है, सिस्टम से किसी अन्य भाग का उपयोग करके लाभ। IOUtils.TPath अधिक ऑब्जेक्ट उन्मुख इंटरफ़ेस है?

http://docwiki.embarcadero.com/Libraries/Seattle/en/System.SysUtils

+0

यह निर्भर करता है कि आप एकाधिक प्लेटफ़ॉर्म को लक्षित करना चाहते हैं। पाथडेलीम विंडोज तक ही सीमित है जबकि टीपीएथ सभी ओएस के लिए मान्य है। – whosrdaddy

+0

@ व्हावोर्डडी नहीं, 'पथडेलीम' सभी प्लेटफार्मों का समर्थन करता है –

उत्तर

4

System.SysUtils.PathDelim मंच स्वतंत्र कोड के लेखन सक्षम करने के लिए एक साधन के रूप, डेल्फी 6/Kylix 1 में शुरू की गई थी। मूल डेल्फी लिनक्स कंपाइलर काइलिक्स की शुरूआत का मतलब था कि पहली बार डेल्फी कोड * * निक्स प्लेटफ़ॉर्म पर निष्पादित किया गया था, साथ ही साथ इसका मूल लक्ष्य भी था।

System.IOUtils.TPath.DirectorySeparatorCharIOUtils इकाई है कि अभी हाल ही में शुरू की गई थी पार मंच टूलींग, जो MacOS, आईओएस, एंड्रॉयड का समर्थन करता है और जल्द ही लिनक्स एक बार फिर शामिल होगा की वर्तमान लहर का समर्थन करने के का हिस्सा है।

जहां आपके पास System.SysUtils और System.IOUtils के बीच कोई विकल्प है, तो आपको आमतौर पर बाद वाले का उपयोग करने की उम्मीद है। System.IOUtils फ़ाइल सिस्टम समर्थन के लिए क्रॉस-प्लेटफ़ॉर्म इकाई है। उस ने कहा, आप आमतौर पर DirectorySeparatorChar का उपयोग नहीं करेंगे, बल्कि इसके बजाय System.IOUtils.TPath.Combine जैसी विधियों का उपयोग करेंगे। जबकि PathDelim रूप

PathDelim = {$IFDEF MSWINDOWS} '\'; {$ELSE} '/'; {$ENDIF} 

System.SysUtils में परिभाषित किया गया है जबकि सशर्त, थोड़े अलग हैं

2

TPath.DirectorySeparatorChar

{$IFDEF MSWINDOWS} 
    FDirectorySeparatorChar := '\'; // DO NOT LOCALIZE; 
    // ... 
{$ENDIF} 
{$IFDEF POSIX} 
    FDirectorySeparatorChar := '/'; // DO NOT LOCALIZE; 
    // ... 
{$ENDIF} 

रूप System.IOUtils में परिभाषित किया गया है, वे केवल अगर अलग हैं न या MSWINDOWS और POSIX के दोनों परिभाषित किया गया था, जो किसी भी मंच के लिए मामला नहीं है। और यदि भविष्य में ऐसा कोई मंच होगा, तो घोषणा निश्चित रूप से तदनुसार तय की जाएगी।

टीएल; डीआर: कोई फर्क नहीं पड़ता है, आप या तो अपनी वरीयता के आधार पर उपयोग कर सकते हैं।

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