Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Impresión
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 19-05-2004
altp altp is offline
Miembro
 
Registrado: sep 2003
Posts: 131
Poder: 21
altp Va por buen camino
Question Impresión directa en puerto COM

Hola a todos.

Tengo un problema al imprimir en una impresora Epson TMU210, con puerto serie.
Imprimo directamente como si fuera una impresora LPT y me salen caracteres raros.

E mirado en los foros pero no e encontrado nada, aunque me suena que una vez leí algo, pero no lo encuentro, si pudieran ayudarme se lo agradecería.

Muchas gracias.

Saludos.
Responder Con Cita
  #2  
Antiguo 19-05-2004
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
prueba a inicializar la impresora con los #27#64
Responder Con Cita
  #3  
Antiguo 19-05-2004
altp altp is offline
Miembro
 
Registrado: sep 2003
Posts: 131
Poder: 21
altp Va por buen camino
Gracias Cadetill por responder.

Eso lo tengo puesto, eso sí, al final.
Te envío el código por si ves algo y por si le puede interesar a alguien (es el código de COMBAT-F2D:
var
Impresora : TextFile;
begin
AssignFile(Impresora, 'COM1');
Rewrite(Impresora);
Writeln(Impresora, chr(27)+ chr(64) + chr(27)+ 'r' + chr(1));

Writeln(Impresora, chr(27)+ '!' + chr(0) + chr(27)+ 'r' + chr(0));

Writeln(Impresora, '*****************************************');
Writeln(Impresora, Conf.FieldByName('CAB1').AsString);
Writeln(Impresora, '*****************************************');
Writeln(Impresora, Conf.FieldByName('CAB2').AsString);
Writeln(Impresora, '');
Writeln(Impresora, Conf.FieldByName('CAB3').AsString);
Writeln(Impresora, Conf.FieldByName('CAB4').AsString);
Writeln(Impresora, Conf.FieldByName('CAB5').AsString);
Writeln(Impresora, '');
Writeln(Impresora, Query.FieldByName('FECHA').AsString + ' ' + FormatDateTime('hh:mm', Now) + ' Ticket ' + IntToStr(Numero));
Writeln(Impresora, '');
Writeln(Impresora, '*****************************************');
Writeln(Impresora, Query.FieldByName('NOMBRE').AsString);
Writeln(Impresora, Query.FieldByName('DESCRIPCION').AsString);
Writeln(Impresora, '*****************************************');
Writeln(Impresora, '');
Writeln(Impresora, FormatFloat('Importe 0,.00', Query.FieldByName('PRECIO').AsFloat) + ' - IVA Incluido');
Writeln(Impresora, '-----------------------------------------');
Writeln(Impresora, Conf.FieldByName('PIE1').AsString);
Writeln(Impresora, Conf.FieldByName('PIE2').AsString);
Writeln(Impresora, Conf.FieldByName('PIE3').AsString);
Writeln(Impresora, Conf.FieldByName('PIE4').AsString);
Writeln(Impresora, '-----------------------------------------');
Writeln(Impresora, Conf.FieldByName('PIE5').AsString);
Writeln(Impresora, '');
Writeln(Impresora, '');
Writeln(Impresora, '');
Writeln(Impresora, '');
Writeln(Impresora, '');
Writeln(Impresora, '');
Writeln(Impresora, #27#105);
[B] Writeln(Impresora, chr(27)+ chr(64)); // inicializo impresora[/b] CloseFile(Impresora);


Gracias por la ayuda
Responder Con Cita
  #4  
Antiguo 19-05-2004
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
pero te funciona o no?? de todas maneras, te aconsejo de inicializar siempre la impresora antes de imprimir, no después de hacerlo (no tiene sentido entonces)
Responder Con Cita
  #5  
Antiguo 19-05-2004
altp altp is offline
Miembro
 
Registrado: sep 2003
Posts: 131
Poder: 21
altp Va por buen camino
Perdona Cadetill, no lo he probado porque ahora no tengo la impresora, la tiene el cliente.

Si puedo mañana te respondo a ver si me funcionó.
Pondré primero la inicialización, lo pondre debajo de Rewrite(Impresora);

Gracias por responder, ya te comentaré.
Responder Con Cita
  #6  
Antiguo 20-05-2004
Avatar de Combat-F2D
Combat-F2D Combat-F2D is offline
Miembro
 
Registrado: may 2003
Ubicación: Toletum
Posts: 454
Poder: 22
Combat-F2D Va por buen camino
con permiso de cadetill, si no te va, mandame un privado y te envio el codigo necesario para hacerla furular; he trabajado con ese tipo de impresoras;
revisa mis post pues creo que algo se ha tocado, no obstante si tienes dudas o similar, aqui me tienes

los problemas los tandras seguramnete en caracteres de los piratillas, es decir, ñ y similares
__________________
online

Última edición por Combat-F2D fecha: 20-05-2004 a las 01:15:47.
Responder Con Cita
  #7  
Antiguo 20-05-2004
altp altp is offline
Miembro
 
Registrado: sep 2003
Posts: 131
Poder: 21
altp Va por buen camino
Probado

Hola. He probado a imprimir con el pequeño cambio de inicializar al principio y nada, me salen todo el rato caracteres raros del tipo " ?ÇÇ??ÇÇ??" así todo el rato. He probado algo que leí en los foros, imprimir primero una página de prueba sobre una impresora instalada, en concreto con una genérica, y ha salido perfectamente, he vuelto a probar desde mi programa y mi sorpresa es que funciona una vez hecha la página de prueba.

¿Sabeis por qué una vez impreso la página de prueba funciona desde el programa? En principio no tiene nada que ver, ya que la página de prueba se hace sobre una impresora en concreto y lo que hace el programa es imprimir directamente en el puerto.

Un saludo.

Ahh, gracias a los dos por responder.
Responder Con Cita
  #8  
Antiguo 20-05-2004
Avatar de Combat-F2D
Combat-F2D Combat-F2D is offline
Miembro
 
Registrado: may 2003
Ubicación: Toletum
Posts: 454
Poder: 22
Combat-F2D Va por buen camino
he estado mirando por los foros antiguos y creo que esto te servira, en ello comente en su momento algo referente a los caracteres esos raros que comentas; repito, si te siguen los problemas te mando un componente que utilizo para la impresion directa;

el link es:

http://www.clubdelphi.com/foros/arch...ghlight=ticket
__________________
online
Responder Con Cita
  #9  
Antiguo 21-05-2004
altp altp is offline
Miembro
 
Registrado: sep 2003
Posts: 131
Poder: 21
altp Va por buen camino
Gracias por responder Combat-F2D (Julio).

Supongo que te refieres a utilizar la función StrToOEM, verdad?
Creo que eso no me vale porque hasta en las líneas en blanco me salen esos caracteres, si tienes confirmación que con eso se soluciona todo lo utilizo. Digo esto porque no tengo yo la impresora, la tiene el cliente.

Si tienes un componente sería estupendo tenerlo. Lo que yo quiero es imprimir sin tener ningún controlador de impresora instalado.

Si me quieres envíar el componente, mi correo es: angel.tovar@asesorainformatica.com

Gracias de nuevo
Responder Con Cita
  #10  
Antiguo 21-05-2004
Avatar de DarkByte
DarkByte DarkByte is offline
Miembro
 
Registrado: sep 2003
Ubicación: Desconocido
Posts: 1.322
Poder: 22
DarkByte Va por buen camino
¿No sería mejor que se postease el link para que otro que tenga tu mismo problema lo pudiese tener?.

Y... componentes COM hay muchos en www.torry.net
__________________
:)
Responder Con Cita
  #11  
Antiguo 22-05-2004
Avatar de Combat-F2D
Combat-F2D Combat-F2D is offline
Miembro
 
Registrado: may 2003
Ubicación: Toletum
Posts: 454
Poder: 22
Combat-F2D Va por buen camino
te he remitido a ese email lo solicitado

en cuanto a lo del posteado creo que ya se ha tratado en anteriores, si mal no recuerdo, claro
__________________
online
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 23:44:23.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi