Cum de a Russify delphi - software-ul

Faptul este că codificările OEM și ANSI (în care funcționează Delphi) nu se potrivesc. În ele pozițiile simbolurilor chirilice sunt diferite. ANSI are și simboluri diacritice, dintre care nu există OEM. Dar în al doilea există simboluri ale pseudografiei, care sunt indispensabile atunci când afișați tabele, deși acest lucru nu este foarte solicitat. Și totuși, trebuie remarcat faptul că, în general, aceste tabele sunt interschimbabile - capacitatea de a transmite informații text de la ele este aceeași.







În ceea ce privește neajunsurile acestei metode, aici este posibilă desemnarea lucrării în afara IDE-ului familiar, cu clopotele și fluierele care disting foarte bine viața, cum ar fi: codarea, compilarea, depanarea. Și toate acestea, așa cum se spune, "într-o singură sticlă". În plus, atunci când proiectul crește, anumite complicații încep să apară, când resursele de șir de terțe părți sunt create folosind codificarea ANSI.

Dacă proiectul inclus direct în liniile de cod (hard-codat) nu conține, puteți lua toate resursele de șir în module separate, localizându-le apoi sub codificarea necesară. Beneficiile utilitarelor care modifică codificarea fișierelor din rețea sunt complete.







Acum, despre utilizarea procedurilor de filtrare. API-ul Windows conține funcții care ajută conversia codificărilor ANSI și OEM una la alta. Aceasta este OemToChar și CharToOem. Ele sunt folosite în ieșirea de text cu înlocuirea fragmentelor Writeln ("text"); pe următoarele fragmente:

procedura MyWriteln (const S: string);
var
NewStr: șir;
începe
SetLengtn (NewStr, Lungime (S));
CharToOem (PChar (S), PChar (NewStr));
Writeln (NewStr);
se încheie;
.
MyWriteln ("text");

În ceea ce privește neajunsurile acestei metode, este imposibil să folosiți sintaxa extinsă Scrierea și aglomerarea textului aplicației apelând procedurile de filtrare. Când aveți nevoie să rusinați o aplicație gata făcută cu mai multe apeluri de a scrie, aceasta devine o problemă serioasă.

Și ultimul lucru este schimbarea paginii codului de consolă utilizând instrumentele Windows API. Această metodă este documentată, apropo. Singura problemă este că funcția din Windows 95 și 98 nu funcționează. Deși în cazul în care aplicația rulează exclusiv pe Windows NT, în acest caz puteți utiliza funcția SetConsoleOutputCP (866).







Articole similare

Trimiteți-le prietenilor: