कार्यक्रमों का रूसीकरण एक महत्वपूर्ण मामला है, खासकर उन उपयोगकर्ताओं के लिए जो विदेशी भाषा नहीं बोलते हैं। अक्सर, डेल्फी कार्यक्रम के उपयोगकर्ता आश्चर्य करते हैं कि इसे कैसे Russify किया जाए।
निर्देश
चरण 1
मुद्दा यह है कि OEM और एएनएसआई एन्कोडिंग (जिसमें डेल्फी काम करता है) मेल नहीं खाते। उनके पास सिरिलिक प्रतीकों के विभिन्न स्थान हैं। एएनएसआई में उच्चारण वर्ण भी होते हैं, जो ओईएम नहीं करता है। लेकिन दूसरे में छद्म ग्राफिक प्रतीक हैं, जो तालिकाओं को प्रदर्शित करने के लिए अपरिहार्य हैं, हालांकि यह बहुत अधिक मांग में नहीं है। और फिर भी यह ध्यान देने योग्य है कि, सामान्य तौर पर, ये तालिकाएँ विनिमेय होती हैं - उनमें पाठ जानकारी प्रदर्शित करने की समान संभावनाएँ होती हैं।
चरण 2
Russification की समस्या को हल करने के कई तरीके हैं। पहला ओईएम संपादक में काम कर रहा है। आप प्रारंभ में प्रोग्राम टेक्स्ट के कुछ हिस्सों को तैयार कर सकते हैं जो एक संपादक में कोड तालिका के लिए महत्वपूर्ण हैं जो OEM एन्कोडिंग में काम करता है। काफी सरल, लेकिन साथ ही प्रभावी उपाय। यह स्थानीय उपयोगिताओं को लिखने के लिए विशेष रूप से सच है, जिसमें सूचना के उत्पादन की अत्यधिक मांग है।
चरण 3
इस पद्धति की कमियों के लिए, यहां आप आईडीई के बाहर काम को नामित कर सकते हैं, जो कई लोगों से परिचित है, इसकी घंटियाँ और सीटी जो जीवन में महान हैं, जैसे: कोडिंग, संकलन, डिबगिंग। और यह सब कहा जाता है, "एक बोतल में।" इसके अलावा, जैसे-जैसे परियोजना बढ़ती है, एएनएसआई एन्कोडिंग का उपयोग करके बनाए गए तृतीय-पक्ष स्ट्रिंग संसाधनों का उपयोग शुरू होने पर कुछ कठिनाइयाँ स्वयं प्रकट होने लगती हैं।
चरण 4
यदि प्रोजेक्ट में सीधे कोड (हार्ड-कोडेड) में शामिल स्ट्रिंग नहीं हैं, तो आप सभी स्ट्रिंग संसाधनों को अलग-अलग मॉड्यूल में स्थानांतरित कर सकते हैं, फिर उन्हें आवश्यक एन्कोडिंग में स्थानीयकृत कर सकते हैं। सौभाग्य से, नेटवर्क उपयोगिताओं से भरा है जो फाइलों के एन्कोडिंग को बदलते हैं।
चरण 5
अब फ़िल्टरिंग प्रक्रियाओं के उपयोग के बारे में। विंडोज एपीआई में एएनएसआई और ओईएम एन्कोडिंग को एक दूसरे में बदलने में आपकी मदद करने के लिए फ़ंक्शन हैं। ये हैं OemToChar और CharToOem। इनका उपयोग टेक्स्ट को फ्रैगमेंट के प्रतिस्थापन के साथ प्रदर्शित करने के लिए किया जाता है राइटलन ('टेक्स्ट'); निम्नलिखित टुकड़ों में:
प्रक्रिया MyWriteln (स्थिरांक एस: स्ट्रिंग);
वर
न्यूस्ट्र: स्ट्रिंग;
शुरू
सेटलैंग्टन (न्यूस्ट्र, लंबाई (एस));
CharToOem (PChar (S), PChar (NewStr));
राइटलन (न्यूस्ट्र);
समाप्त;
MyWriteln ('पाठ');
चरण 6
इस पद्धति के नुकसान के लिए, विस्तारित लिखित सिंटैक्स का उपयोग करना और फ़िल्टर प्रक्रियाओं को कॉल के साथ एप्लिकेशन टेक्स्ट को अव्यवस्थित करना असंभव है। जब आपको लिखने के लिए कई कॉलों के साथ एक समाप्त एप्लिकेशन को Russify करने की आवश्यकता होती है, तो यह एक गंभीर समस्या बन जाती है।
चरण 7
अंतिम लेकिन कम से कम, विंडोज एपीआई का उपयोग करके कंसोल कोड पेज को बदलें। इस विधि को प्रलेखित किया गया है, वैसे। एकमात्र पकड़ यह है कि यह सुविधा विंडोज 95 और 98 में काम नहीं करती है। यद्यपि यदि अनुप्रयोग विशेष रूप से Windows NT पर चलेगा, तो इस स्थिति में, आप SetConsoleOutputCP फ़ंक्शन (866) का उपयोग कर सकते हैं।