La russificació dels programes és una qüestió important, especialment per als usuaris que no parlen idiomes estrangers. Molt sovint, els usuaris del programa Delphi es pregunten com russificar-lo.
Instruccions
Pas 1
La qüestió és que les codificacions OEM i ANSI (en què funciona Delphi) no coincideixen. Tenen diferents posicions de símbols ciríl·lics. ANSI també té caràcters accentuats, cosa que OEM no té. Però el segon conté símbols pseudo-gràfics, indispensables per a la visualització de taules, tot i que això no és gaire exigent. Tot i això, cal destacar que, en general, aquestes taules són intercanviables, ja que tenen les mateixes possibilitats per mostrar informació de text.
Pas 2
Hi ha diverses maneres de resoldre el problema de la russificació. El primer treballa a l’editor OEM. Inicialment, podeu preparar parts del text del programa que siguin fonamentals per a la taula de codis en un editor que funcioni amb la codificació OEM. Una solució bastant senzilla, però alhora eficaç. Això és especialment cert per escriure utilitats locals, en les quals, però, la producció d'informació és molt exigent.
Pas 3
Quant a les deficiències d’aquest mètode, aquí podeu designar treballs fora de l’IDE, que són familiars per a molts, amb les seves campanes i xiulets que són excel·lents a la vida, com ara: codificació, compilació, depuració. I tot això es diu: "en una ampolla". A més, a mesura que el projecte creix, comencen a manifestar-se certes dificultats quan comencen a utilitzar-se recursos de cadenes de tercers creats amb la codificació ANSI.
Pas 4
Si el projecte no conté cadenes incloses directament al codi (codificat de forma dura), podeu moure tots els recursos de cadenes a mòduls separats i localitzar-los a la codificació necessària. Afortunadament, la xarxa està plena d’utilitats que canvien la codificació dels fitxers.
Pas 5
Ara sobre l'ús de procediments de filtratge. L'API de Windows conté funcions que us ajudaran a convertir codificacions ANSI i OEM entre elles. Aquests són OemToChar i CharToOem. S’utilitzen per mostrar text amb la substitució de fragments Writeln (‘text’); en els següents fragments:
procediment MyWriteln (const S: string);
var
NewStr: cadena;
començar
SetLengtn (NewStr, Longitud (S));
CharToOem (PChar (S), PChar (NewStr));
Writeln (NewStr);
final;
MyWriteln (‘text’);
Pas 6
Pel que fa als desavantatges d’aquest mètode, és la impossibilitat d’utilitzar la sintaxi d’escriptura ampliada i desordenar el text de l’aplicació amb una trucada per filtrar els procediments. Quan necessiteu russificar una aplicació acabada amb diverses trucades a Write, això esdevé un greu problema.
Pas 7
Per últim, però no menys important, canvieu la pàgina de codis de la consola mitjançant l’API de Windows. Aquest mètode està documentat, per cert. L’únic problema és que la funció no funciona al Windows 95 i 98. Tot i que si l'aplicació s'executarà exclusivament a Windows NT, en aquest cas, podeu utilitzar la funció SetConsoleOutputCP (866).