Proqramların ruslaşdırılması, xüsusən xarici dilləri bilməyən istifadəçilər üçün vacib bir məsələdir. Çox vaxt Delphi proqramı istifadəçiləri bunun necə ruslaşdırılacağını düşünürlər.
Təlimat
Addım 1
Məsələ burasındadır ki, OEM və ANSI kodlaşdırmaları (Delphinin işlədiyi) uyğun gəlmir. Kiril işarələrinin fərqli mövqelərinə sahibdirlər. ANSI-də OEM-in vermədiyi vurgulu simvollar var. Ancaq ikincisi, cədvəlləri göstərmək üçün əvəzolunmaz olan yalançı qrafik simvolları ehtiva edir, baxmayaraq ki, bu çox tələb olunmur. Yenə də qeyd etmək lazımdır ki, ümumiyyətlə, bu cədvəllər bir-birini əvəz edir - mətn məlumatlarını göstərmək üçün eyni imkanlara malikdirlər.
Addım 2
Ruslaşdırma problemini həll etməyin bir neçə yolu var. Birincisi, OEM redaktorunda işləyir. Əvvəlcə proqram mətninin OEM kodlamasında işləyən bir redaktorda kod cədvəli üçün vacib olan hissələrini hazırlaya bilərsiniz. Olduqca sadə, eyni zamanda təsirli bir həll. Bu, xüsusən də məlumat çıxışı çox tələb olunan yerli yardım proqramlarının yazılması üçün doğrudur.
Addım 3
Bu metodun çatışmazlıqlarına gəldikdə, burada bir çoxlarına tanış olan IDE xaricində həyatda böyük olan zəngləri və düdükləri ilə iş təyin edə bilərsiniz, məsələn: kodlaşdırma, tərtib, ayıklama. Və bütün bunlara "bir şüşə içində" deyilir. Bundan əlavə, layihə böyüdükcə, müəyyən çətinliklər ANSI kodlaşdırma ilə yaradılan üçüncü tərəf simli mənbələrdən istifadə olunmağa başlayanda özünü göstərməyə başlayır.
Addım 4
Layihədə birbaşa koda daxil edilmiş simlər yoxdursa (sabit kodlanmış), bütün simli qaynaqları ayrı-ayrı modullara köçürə bilər, sonra onları tələb olunan kodlaşdırmaya yerləşdirə bilərsiniz. Xoşbəxtlikdən, şəbəkə faylların kodlamasını dəyişdirən yardım proqramları ilə doludur.
Addım 5
İndi filtrləmə prosedurlarının istifadəsi haqqında. Windows API, ANSI və OEM kodlamalarını bir-birinə çevirməyinizə kömək edəcək funksiyalar ehtiva edir. Bunlar OemToChar və CharToOem. Bunlar Writeln (‘text ') fraqmentlərinin əvəzlənməsi ilə mətni göstərmək üçün istifadə olunur; aşağıdakı fraqmentlərə:
prosedur MyWriteln (const S: string);
var
NewStr: simli;
başlamaq
SetLengtn (NewStr, Uzunluq (S));
CharToOem (PChar (S), PChar (NewStr));
Writeln (NewStr);
son;
MyWriteln (‘mətn’);
Addım 6
Bu metodun çatışmazlıqlarına gəldikdə, genişləndirilmiş Yaz sintaksisini istifadə etmək və prosedurları filtrləmə çağırışı ilə tətbiqetmə mətnini qarışdırmaq mümkünsüzdür. Yazmaq üçün çoxsaylı zənglərlə bitmiş bir tətbiqi ruslaşdırmaq lazım olduqda, bu ciddi bir problemə çevrilir.
Addım 7
Son olaraq, ən azı, Windows API istifadə edərək konsol kodu səhifəsini dəyişdirin. Yeri gəlmişkən, bu metod sənədləşdirilmişdir. Yalnız tutma xüsusiyyəti Windows 95 və 98-də işləməməsidir. Tətbiqin yalnız Windows NT-də işləməsinə baxmayaraq, bu halda SetConsoleOutputCP funksiyasından istifadə edə bilərsiniz (866).