Бағдарламаларды орыстандыру, әсіресе шет тілдерін білмейтін қолданушылар үшін маңызды мәселе. Delphi бағдарламасын пайдаланушылар көбіне оны қалай орыстандыру керек деп ойлайды.
Нұсқаулық
1-қадам
Мәселе OEM және ANSI кодтаулары (онда Delphi жұмыс істейді) сәйкес келмейді. Оларда кириллица таңбаларының әр түрлі позициялары бар. ANSI-де акценттік таңбалар бар, ол OEM-де жоқ. Бірақ екіншісінде кестелерді көрсету үшін таптырмайтын жалған графикалық белгілер бар, дегенмен бұл өте қажет емес. Жалпы, бұл кестелер бір-бірімен алмастырылатындығын - олардың мәтіндік ақпараттарды көрсету мүмкіндіктері бірдей екендігін атап өткен жөн.
2-қадам
Орыстандыру мәселесін шешудің бірнеше әдісі бар. Біріншісі OEM редакторында жұмыс істейді. Бастапқыда OEM кодтауында жұмыс жасайтын редакторда кодтар кестесі үшін маңызды мәтіннің бөліктерін дайындауға болады. Өте қарапайым, бірақ сонымен бірге тиімді шешім. Бұл әсіресе жергілікті коммуналдық қызметтерді жазуға қатысты, онда ақпараттың шығуы өте қажет.
3-қадам
Бұл әдістің кемшіліктеріне келетін болсақ, мұнда сіз IDE-ден тыс өмірді таңдай аласыз, ол көптеген адамдарға таныс, қоңырау мен ысқырықтар сияқты, мысалы: кодтау, жинақтау, күйін келтіру. Мұның бәрі «бір бөтелкеде» делінген. Сонымен қатар, жоба өсіп келе жатқанда, ANSI кодтауын пайдаланып жасалған үшінші тараптың жолдық ресурстары қолданыла бастаған кезде белгілі бір қиындықтар байқала бастайды.
4-қадам
Егер жобада кодқа тікелей енгізілген жолдар болмаса (қатты кодталған) болса, онда сіз барлық жол ресурстарын бөлек модульдерге ауыстыра аласыз, содан кейін оларды қажет болатын кодтауға оқшаулай аласыз. Бақытымызға орай, желі файлдардың кодталуын өзгертетін утилиталарға толы.
5-қадам
Енді сүзу процедураларын қолдану туралы. Windows API-де ANSI және OEM кодтамаларын бір-біріне түрлендіруге көмектесетін функциялар бар. Бұл OemToChar және CharToOem. Олар Writeln фрагменттерін ауыстырумен мәтінді көрсету үшін қолданылады (‘мәтін’); келесі фрагменттерге:
MyWriteln процедурасы (const S: жол);
var
NewStr: жол;
баста
SetLengtn (NewStr, Length (S));
CharToOem (PChar (S), PChar (NewStr));
Writeln (NewStr);
Соңы;
MyWriteln (‘мәтін’);
6-қадам
Бұл әдістің кемшіліктеріне келетін болсақ, бұл кеңейтілген Жазу синтаксисін қолдану және процедураны сүзуге шақырумен қолданба мәтінін шатастыру мүмкін емес. Аяқталған қосымшаны жазу үшін бірнеше рет қоңырау шалу арқылы орыстандыру қажет болғанда, бұл күрделі проблемаға айналады.
7-қадам
Сонымен, Windows API көмегімен консоль кодының бетін өзгертіңіз. Айтпақшы, бұл әдіс құжатталған. Жалғыз аулау - бұл функция Windows 95 және 98 жүйелерінде жұмыс істемейді. Егер қосымша тек Windows NT-де жұмыс істейтін болса, бұл жағдайда SetConsoleOutputCP функциясын (866) пайдалануға болады.