La russificazione dei programmi è una questione importante, soprattutto per gli utenti che non parlano lingue straniere. Molto spesso, gli utenti del programma Delphi si chiedono come russificarlo.
Istruzioni
Passo 1
Il punto è che le codifiche OEM e ANSI (in cui funziona Delphi) non corrispondono. Hanno diverse posizioni dei simboli cirillici. ANSI ha anche caratteri accentati, cosa che OEM non ha. Ma il secondo contiene simboli pseudografici, indispensabili per la visualizzazione delle tabelle, anche se non molto richiesti. Eppure vale la pena notare che, in generale, queste tabelle sono intercambiabili: hanno le stesse possibilità di visualizzare le informazioni di testo.
Passo 2
Esistono diversi modi per risolvere il problema della russificazione. Il primo sta lavorando nell'editor OEM. È possibile inizialmente preparare parti del testo del programma che sono fondamentali per la tabella dei codici in un editor che funzioni nella codifica OEM. Una soluzione abbastanza semplice, ma allo stesso tempo efficace. Ciò è particolarmente vero per la scrittura di servizi di pubblica utilità, in cui l'output di informazioni, tuttavia, è molto richiesto.
Passaggio 3
Per quanto riguarda le carenze di questo metodo, qui puoi designare il lavoro al di fuori dell'IDE, che è familiare a molti, con i suoi campanelli e fischietti che sono fantastici nella vita, come: codifica, compilazione, debug. E tutto questo si dice "in una bottiglia". Inoltre, man mano che il progetto cresce, iniziano a manifestarsi alcune difficoltà quando iniziano a essere utilizzate risorse stringa di terze parti create utilizzando la codifica ANSI.
Passaggio 4
Se il progetto non contiene stringhe direttamente incluse nel codice (hard-coded), puoi spostare tutte le risorse stringa in moduli separati, quindi localizzandole nella codifica richiesta. Fortunatamente, la rete è piena di utilità che modificano la codifica dei file.
Passaggio 5
Ora sull'uso delle procedure di filtraggio. L'API di Windows contiene funzioni che consentono di convertire le codifiche ANSI e OEM tra loro. Questi sono OemToChar e CharToOem. Sono utilizzati per visualizzare il testo con sostituzione dei frammenti Writeln ("testo"); nei seguenti frammenti:
procedura MyWriteln (const S: stringa);
varia
NewStr: stringa;
inizio
SetLengtn (NewStr, Lunghezza (S));
CharToOem (PChar (S), PChar (NewStr));
Writeln (NewStr);
fine;
MyWriteln ("testo ");
Passaggio 6
Per quanto riguarda gli svantaggi di questo metodo, è l'impossibilità di utilizzare la sintassi Write estesa e di ingombrare il testo dell'applicazione con una chiamata a procedure di filtro. Quando è necessario russificare un'applicazione finita con più chiamate a Write, questo diventa un problema serio.
Passaggio 7
Ultimo ma non meno importante, cambia la tabella codici della console utilizzando l'API di Windows. Questo metodo è documentato, tra l'altro. L'unico problema è che la funzione non funziona in Windows 95 e 98. Anche se l'applicazione verrà eseguita esclusivamente su Windows NT, in questo caso è possibile utilizzare la funzione SetConsoleOutputCP (866).