Fájl nyomtatása a dos kódolás

Nyomtassa ki a fájlt a DOS karakterkészlet

A forrás fájlt egy DOS cp866 kódoló nekem ki kell nyomtatni egy lézernyomtató. Cant magam - végre szar. Én nagyon hálás, ha válaszul az eljárást, hogy kész, és nem egy utalás a vásznon.

Perekodirovyvay szöveg által kibocsátott nyomdai OEM kódlap ANSI. A lézer nyomtató nem szükséges, hogy megértsük cp866.

Mi legyen prekodirovat már tudtam! Kérdés - hogyan. És akkor hogyan kell nyomtatni (nem írt program segítségével a nyomtató) - megpróbálta Canvas „nd nem tetszik (bár lehet, hogy nem polzovalsya).

OemToChar
és egyszerűen kimenetét fájlba PRN imenenm

vagy egy változó nyomtató

Ki, ha a program összeállításánál OEMtoChar Delphi hibát dob:
[Error] obr.dpr (52): A bejelentés nélküli azonosító: "OEMtoChar"
Azt hiszem, valamit kell regisztrálni felhasználása, hanem, hogy segítsen Delphi semmit nem mond.

Add hozzá a Windows modul
vagy írjon windows.OemToChar (.)
Általában ez API függvény

Amikor végez egy ilyen konstrukció:
OEMtoChar (PChar (Edit1.Text), PChar (Edit2.Text));

Windows összeomlik hiba:
Hozzáférés megsértése címen 77D5ED16 in module "user32.dll". Írja cím 00403D11.

Ha ez nem nehéz írni egy olyan struktúra vezetői egy fájl OEM ANSI azzal a lehetőséggel, a progresszív feldolgozás (lehet egy szimbólum egység).

Talán a fáradságot, hogy nézd meg a FAQ OEMtoChar

Nagyon gazdag és tartalmas információkat a Delphi 5 OEMtoChar ;-)

Nos, legalább melyik változókat használni (ami var írásban), hogy nem repül a hiba.

> Egy nagyon gazdag és tartalmas segítséget
ahhoz, hogy megértsük, hogy a puffer kell elosztani
lpszSrc - rámutat a null-terminált karaktersorozatot a OEM definiált karakter készlet.
lpszDst - rámutat, hogy a puffer a lefordított szöveg.

Probléma változó kódolások a következőképpen határozott:

működnek Dos2Win (p: string): string;
var TMPA, tmpb: PChar;
kezdődik
TMPA: = PChar (p); tmpb: = PChar (p);
OemToChar (TMPA, tmpb);
Dos2Win: = String (tmpb);
végén;

Aztán feldolgozni a fájlt soronként és nyomtatási keresztül Printer.Canvas.TextOut.

Köszönöm mindenkinek. A program meg van írva. Zárva.

Kapcsolódó cikkek