Depozitarea dos codați (866)
Salvarea în codarea DOS (866)
Buna ziua!
A existat o nevoie de a crea un număr mare de liliac-fișier pentru a automatiza configurarea sistemului Windows. Echipele românești și întâlni scrisori după crearea acestor fișiere în momentul executării toate literele românești sunt convertite în S-uri. Inutil să nu comanda de pus în aplicare :(
Pot să vă rugăm să spuneți cum să salvați aceste fișiere DOS de codificare a literelor românești de a percepe DOS emulator de pe computerele Windows?
Înainte de a salva recodificări. AnsiToOem ajutor
Software-ul - CharToOem.
Manual - font Terminal.
Nu, nu a înțeles destul de corect. și poate că nu sunt destul de normal explicat.
Este necesar să se facă un program care creează aceste BAT-fișiere sunt salvate în textul lor, astfel încât textul în limba română a fost în format DOS.
Despre AnsiToOem CharToOem și poate fi mai mult, pliz :) Și când aveți nevoie de un fișier de format DOS pentru a codifica codificarea Windows folosesc întotdeauna memo, și apoi, de asemenea, trebuie să fie?
Salvarea unui fișier în format Windows, apoi deschideți-l și re-encode? Și odată ce nu puteți specifica formatul de fișier?
Ei bine, apoi re-codifica literele românești înainte de a scrie-le într-un fișier. AnsiToOem și CharToOem se potrivesc - încă nimic. Și atunci nu va trebui să re-encode.
Și, dacă este posibil, mai mult. Ie aveți nevoie pentru a crea o variabilă de tipul String de Char, apoi atribui o valoare unui șir de caractere de text românesc, literă cu literă și apoi re-encode șir la altul prin intermediul CharToOem, și doar apoi pentru a păstra noua linie în fișierul?
Am înțeles totul corect?
Dacă aș putea să mă înțeleg toate acestea, nu ar cere ajutor în acest forum :(
Dacă există ceva pe fond, atunci spune-mi, te rog, manualele de utilizare și de a ajuta trimite oricine poate :)
Procedura SaveOemStringToFile (const S: string; const fname: string);
var STMP: string;
începe
# XA0; dacă S = "" atunci de ieșire;
# XA0; setlength (STMP, lungime (S));
# XA0; AnsiToOem (PChar (S), PChar (STMP));
# XA0, cu TStringList.Create face
# XA0; încercați
# XA0; # XA0; Text: = STMP;
# XA0; # XA0; SaveToFile (fname)
# XA0; în sfârșit
# XA0; # XA0; gratuit
# XA0; end;
se încheie;
mulțumiri ALS pentru răspunsul sub formă de cod :)
O altă întrebare:
Am nevoie pentru a salva fișierul într-o serie de linii, iar în acest exemplu, TStringList.Create.SaveToFile (fname), probabil, nu va suprascrie fișierul a fost creat de fiecare dată când suni procedura SaveOemStringToFile?
Ne pare rău, poate că întrebările LAMER, dar am văzut pe cei de la Delphi și eu sunt :( nu juri mult :)
Nu doar de ajutor a fost trimis, în special de referință element, care este necesară pentru citire, atunci poate fi mai critice atribuite pentru a aduce codul. Acest cod este pentru Win 3.11 și funcționează pe platforma NT numai ca acceptată pentru compatibilitate.
Și, de asemenea, mai ales nu vorbim despre codul optim.
Totul este bun, dar numai AnsiToOem CharToOem și nu am în ajutor :(
Delphi 7.0
Ajutor -> Ferestre SDK -> Index -> CharToOem:
Funcția CharToOem traduce un șir de caractere în setul de caractere OEM-definite. (OEM standuri pentru producătorul de echipamente originale.) Această funcție înlocuiește funcția AnsiToOem.
# XA0; # XA0; LPCTSTR lpszSrc, // pointer la string pentru a traduce # XA0;
# XA0; # XA0; LPSTR lpszDst # XA0; // pointer la string tradus
# XA0; );
.