Rusifikacija programa je važna stvar, posebno za korisnike koji ne govore strane jezike. Često se korisnici programa Delphi pitaju kako ga rusificirati.
Upute
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đer ima znakove s naglaskom, š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, valja napomenuti da su ove tablice općenito zamjenjive - imaju iste mogućnosti za prikaz tekstualnih podataka.
Korak 2
Postoji nekoliko načina za rješavanje problema rusifikacije. Prvi je rad u OEM editoru. U početku možete pripremiti dijelove programskog teksta koji su presudni za tablicu kodova u uređivaču koji radi u OEM kodiranju. Sasvim jednostavno, ali istodobno učinkovito rješenje. To se posebno odnosi na pisanje lokalnih komunalnih usluga, u kojima je izlaz podataka unatoč tome vrlo zahtjevan.
3. korak
Š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, ispravljanje pogrešaka. I sve je to rečeno, "u jednoj boci". Osim toga, kako projekt raste, određene se poteškoće počinju očitovati kada se počnu upotrebljavati resursi nizova treće strane stvoreni pomoću ANSI kodiranja.
4. korak
Ako projekt ne sadrži nizove izravno uključene 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 u međusobnom pretvaranju ANSI i OEM kodiranja. To su OemToChar i CharToOem. Koriste se za prikaz teksta uz zamjenu fragmenata Writeln ('tekst'); u sljedeće fragmente:
postupak MyWriteln (const S: string);
var
NewStr: string;
početi
SetLengtn (NewStr, duljina (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.
7. korak
I na kraju, ali ne najmanje važno, promijenite kodnu stranicu konzole pomoću Windows API-ja. Inače, ova je metoda dokumentirana. Jedina je kvaka u tome što značajka ne radi u sustavima Windows 95 i 98. Iako će se aplikacija izvoditi isključivo na sustavu Windows NT, u ovom slučaju možete koristiti funkciju SetConsoleOutputCP (866).