PDA

Ver la Versión Completa : imprimir acentos en impresora de tickets


Er_Manué
24-09-2003, 14:24:52
hola!

Pos lo dicho, ¿Cómo puedo imprimir cadenas con acentos en una impresora de tickets? lo estoy probando en una SAMSUNG SRP-250AP, pero me gustaría que fuera general, ya que la aplicación que estoy desarrollando debe poder utilizar los distintos tipos de impresoras de tickets estandars disponibles.

muchas gracias

Er_Manué
24-09-2003, 14:47:08
ya lo he solucionado. Os dejo la sólución para los que tengan el mismo problema que yo ;)

(****************************************)
(* Convertimos una cadena AnsiStr a OEM *)
(****************************************)
function StrToOem(const AnsiStr: string): string;
begin
SetLength(Result, Length(AnsiStr));
if Length(Result) > 0 then
CharToOem(PChar(AnsiStr), PChar(Result));
end;
...

procedure imprimeTicket(numTicket : integer);
...
s := StrToOem(obtenDatosEmpresa(EMP_NOMB))+chr(13)+chr(10);
WritePrinter(Handle, pchar(s), Length(S), N);
...


Simplemente tenemos que convertir la cadena a imprimir a OEM antes de imprimirla :D

Salu2

oscarbeilar
30-05-2007, 12:21:25
hola xavales!

os veo bastante liados con los codigos y tal , yo como no soy tan experto como vosotros me limite a descargarme drivers nuevos y me lo ace solo :P mirar este link

http://feniximvico.com/categorias.php?id_pro=&id_cat=78&ididioma=ES

seguro k os ayuda mucho. adiosssssssssss

foxito
18-04-2012, 22:03:19
ya lo he solucionado. Os dejo la sólución para los que tengan el mismo problema que yo ;)

(****************************************)
(* Convertimos una cadena AnsiStr a OEM *)
(****************************************)
function StrToOem(const AnsiStr: string): string;
begin
SetLength(Result, Length(AnsiStr));
if Length(Result) > 0 then
CharToOem(PChar(AnsiStr), PChar(Result));
end;
...

procedure imprimeTicket(numTicket : integer);
...
s := StrToOem(obtenDatosEmpresa(EMP_NOMB))+chr(13)+chr(10);
WritePrinter(Handle, pchar(s), Length(S), N);
...
Simplemente tenemos que convertir la cadena a imprimir a OEM antes de imprimirla :D

Salu2


Excelente solución me sirvio demasiado... para mis impresiones de ticket. Gracias