PDA

Ver la Versión Completa : Convertir cadena de ANSI a OEM


Lord Delfos
25-09-2008, 18:57:10
Buenas gente.

Estoy necesitando imprimir cadenas ANSI (un AnsiString común y corriente) en una aplicación DOS. Por supuesto, los caracteres "raros" (digamos, acentos, ñ, etc.) me salen mal, el problema está en que la cadena es ANSI y no OEM (supongo yo).

Yo no puedo saber qué cadenas van a hacer (son ingresadas por el usuario), así que queda descartada cualquier conversión que pueda hacer antes de compilar.

Así que se me ocurrió convertir de alguna forma de ANSI a OEM. Pero... ni la menor idea de cómo se hace he estado buscando por internet pero todo lo que encontré son programas que hacen la conversión, pero sin código para ver cómo...

Si alguno sabe... Mil gracias.

MAXIUM
25-09-2008, 20:37:15
en cuanto llegue a casa te doy el código, mientras revisa esta fuente creda por mi para estos efectos http://www.terawiki.clubdelphi.com/archivos/Herramientas/DOSASCII.rar

roman
25-09-2008, 20:58:42
Ejemplo:


program Project1;

{$APPTYPE CONSOLE}

uses
Windows, SysUtils;

var
S: String;

begin
S := 'Hola Román';
CharToOemBuff(PChar(S), PChar(S), Length(S));
WriteLn(S);
ReadLn;
end.


// Saludos

Lord Delfos
26-09-2008, 13:23:46
¡Ajá! Mil gracias Román... Yo sabía que tenía que ser una tontería...

Maximum, te agradezco de todos modos. Tan lindas las fuentes.