Russifikace programů je důležitá záležitost, zejména pro uživatele, kteří nemluví cizími jazyky. Uživatelé programu Delphi se často ptají, jak to rusifikovat.
Instrukce
Krok 1
Jde o to, že kódování OEM a ANSI (ve kterém Delphi funguje) se neshodují. Mají různé polohy cyrilice. ANSI má také znaky s diakritikou, což OEM nemá. Druhá však obsahuje pseudografické symboly, které jsou pro zobrazení tabulek nepostradatelné, i když to není příliš žádané. A přesto stojí za zmínku, že tyto tabulky jsou obecně zaměnitelné - mají stejné možnosti pro zobrazení textových informací.
Krok 2
Existuje několik způsobů, jak vyřešit problém rusifikace. První je práce v editoru OEM. Zpočátku můžete připravit části textu programu, které jsou důležité pro tabulku kódu v editoru, který pracuje v kódování OEM. Docela jednoduché, ale zároveň efektivní řešení. To platí zejména pro psaní místních obslužných programů, u nichž je výstup informací přesto velmi žádaný.
Krok 3
Pokud jde o nedostatky této metody, zde můžete určit práci mimo IDE, která je mnohým známá, s jejími zvony a píšťalkami, které jsou v životě skvělé, jako například: kódování, kompilace, ladění. A to vše se říká „v jedné láhvi“. Jak se projekt rozrůstá, začnou se projevovat určité potíže, když se začnou používat prostředky řetězců třetích stran vytvořené pomocí kódování ANSI.
Krok 4
Pokud projekt neobsahuje řetězce přímo zahrnuté v kódu (napevno), můžete přesunout všechny prostředky řetězce do samostatných modulů a poté je lokalizovat do požadovaného kódování. Naštěstí je síť plná nástrojů, které mění kódování souborů.
Krok 5
Nyní o použití filtračních postupů. Windows API obsahuje funkce, které vám pomohou převést kódování ANSI a OEM do jiného. Jedná se o OemToChar a CharToOem. Používají se k zobrazení textu s nahrazením fragmentů Writeln („text“); do následujících fragmentů:
postup MyWriteln (const S: řetězec);
var
NewStr: řetězec;
začít
SetLengtn (NewStr, délka (S));
CharToOem (PChar (S), PChar (NewStr));
Writeln (NewStr);
konec;
MyWriteln („text“);
Krok 6
Pokud jde o nevýhody této metody, je to nemožnost použití rozšířené syntaxe Write a přeplnění textu aplikace voláním procedur filtrování. Pokud potřebujete Russify hotovou aplikaci s více voláními pro zápis, stane se to vážným problémem.
Krok 7
V neposlední řadě změňte kódovou stránku konzoly pomocí rozhraní Windows API. Tato metoda je mimochodem zdokumentována. Jediným úlovkem je, že tato funkce nefunguje ve Windows 95 a 98. I když, pokud bude aplikace spuštěna výhradně v systému Windows NT, v tomto případě můžete použít funkci SetConsoleOutputCP (866).