Rusifikacija programa je važna stvar, posebno za korisnike koji ne govore strane jezike. Često se korisnici programa Delphi pitaju kako ga rusificirati.
Instrukcije
Korak 1
Poanta je u tome što se OEM i ANSI kodiranja (u kojima Delphi radi) ne podudaraju. Imaju različite položaje ćiriličnih simbola. ANSI takođe ima naglašene znakove, što OEM nema. Ali drugi sadrži pseudo-grafičke simbole, koji su neophodni za prikazivanje tablica, iako to nije previše traženo. Pa ipak, vrijedi napomenuti da su ove tablice općenito zamjenjive - imaju iste mogućnosti za prikaz tekstualnih informacija.
Korak 2
Postoji nekoliko načina za rješavanje problema rusifikacije. Prvi je rad u OEM editoru. U početku možete pripremiti dijelove teksta programa koji su kritični za tablicu kodova u uređivaču koji radi u OEM kodiranju. Prilično jednostavno, ali u isto vrijeme efikasno rješenje. To se posebno odnosi na pisanje lokalnih komunalnih usluga, u kojima je izlaz podataka unatoč tome vrlo zahtjevan.
Korak 3
Što se tiče nedostataka ove metode, ovdje možete odrediti rad izvan IDE-a, koji je mnogima poznat, sa svojim sjajima i sjajima u životu, kao što su: kodiranje, kompilacija, otklanjanje grešaka. I sve je to rečeno, "u jednoj boci". Pored toga, kako projekt raste, određene se poteškoće počinju očitovati kada se počnu koristiti neovisni resursi stvoreni pomoću ANSI kodiranja.
Korak 4
Ako projekt ne sadrži nizove koji su izravno uključeni u kod (tvrdo kodirani), možete premjestiti sve resurse niza u zasebne module, a zatim ih lokalizirati u potrebno kodiranje. Srećom, mreža je puna uslužnih programa koji mijenjaju kodiranje datoteka.
Korak 5
Sada o upotrebi postupaka filtriranja. Windows API sadrži funkcije koje vam pomažu da međusobno pretvorite ANSI i OEM kodiranja. To su OemToChar i CharToOem. Koriste se za prikaz teksta uz zamjenu fragmenata Writeln ('tekst'); u slijedeće fragmente:
procedura MyWriteln (const S: string);
var
NewStr: string;
početi
SetLengtn (NewStr, dužina (S));
CharToOem (PChar (S), PChar (NewStr));
Writeln (NewStr);
kraj;
MyWriteln (‘tekst’);
Korak 6
Što se tiče nedostataka ove metode, nemogućnost je upotrebe proširene sintakse Write i pretrpavanja teksta aplikacije pozivom na postupke filtriranja. Kada trebate rusificirati gotovu aplikaciju s više poziva za pisanje, to postaje ozbiljan problem.
Korak 7
Na kraju, ali ne najmanje važno, promijenite kodnu stranicu konzole pomoću Windows API-ja. Inače, ova metoda je dokumentovana. Jedina je kvaka u tome što ta funkcija ne radi u Windowsima 95 i 98. Iako će se aplikacija izvoditi isključivo na Windows NT, u ovom slučaju možete koristiti funkciju SetConsoleOutputCP (866).