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 20-05-2008
betto betto is offline
Miembro
 
Registrado: ene 2006
Posts: 42
Poder: 0
betto Va por buen camino
Smile Impresion de Ticket

Hola a todos, necesito hacer una impresion de ticket en una impresora de matriz EPSON TM-T88III desde Delphi 2005 y no tengo la menor idea de como hacerlo,
¿Alguien podra orientarme exactamente como hacerlo?
tengo que saber la secuencia de escape?
hay algun reporteador que lo haga directamente?
podran recomendarme algunas funciones genericas o especificas p/ Impresoras?
No me importa el puerto aunque si es el LPT1 mucho mejor.


Les agradezco mucho a todos de antemano, saludos!!!

Última edición por betto fecha: 20-05-2008 a las 22:28:20.
Responder Con Cita
  #2  
Antiguo 20-05-2008
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 22
enecumene Va por buen camino
Hola, un ejemplo buscando en los foros:

http://clubdelphi.com/foros/showpost...3&postcount=13

Saludos.
__________________

Mi BLOG - ¡Joder, leanse la guia de estilo!
Las Palabras son enanas, los ejemplos gigantes.
Responder Con Cita
  #3  
Antiguo 21-05-2008
bismarck_sierra bismarck_sierra is offline
Miembro
 
Registrado: ene 2004
Ubicación: Morelia, Michoacán, México
Posts: 70
Poder: 21
bismarck_sierra Va por buen camino
Que tal

Yo utilizo Report Manager para imprimir tickets en una TMU220, le mando códigos de escape para manipular tamaños de letra de la impresora y activar el cutter. Pero también puedes simplemente utilizar los tipos de letra que tengas instalados en tu SO. Es muy sencillo y fácil de modificar. Además que tiene soporte para la impresora que mencionas.

Saludos
Bismarck
Responder Con Cita
  #4  
Antiguo 24-05-2008
luchifer luchifer is offline
No confirmado
 
Registrado: jul 2007
Ubicación: Santa Cruz - Bolivia
Posts: 50
Poder: 0
luchifer Va por buen camino
Impresion con puerto LPT1

Usa el procedimiento siguiente:
procedure TFpto_pollo.imprime_fac(stdoc, stipo:shortstring;sndoc:integer);
Var MyPrinter: TextFile;
xcan, xdes, xval, xtot, xpag, xcam:shortstring;
xsum:real;
consulta:string;
begin
AssignFILE(MyPrinter,'USB');
ReWrite(MyPrinter);
Write(MyPrinter, CHR(27) + CHR(64)); // Inicializar Impresora
//Write(MyPrinter, CHR(27)+CHR(67)+CHR(44)); // Fijar Tamaño en Lineas
Write(MyPrinter,CHR(27)+ CHR(103)); // Tipo de Letra Chicas
//Write(MyPrinter,CHR(27)+CHR(197)); // Negrita
//Write(MyPrinter,CHR(27)+CHR(179)+CHR(28)); // Espacio entre Lines
if stipo='FAC' then Writeln(MyPrinter,'MICROMARKET VIA RAPIDA') else Writeln(MyPrinter,'POLLOS ROSS');
if stipo='FAC' then Writeln(MyPrinter,'AV.ROQUE AGUILERA ESQ.RADIAL CASTILLA') else Writeln(MyPrinter,'AV.SANTOS DUMONT CASI 4TO ANILLO');
if stipo='FAC' then Writeln(MyPrinter,'NIT 2642735017 TELF.3513621') else Writeln(MyPrinter,'NO ES FACTURA TELF.3533417');
if stipo='FAC' then Writeln(MyPrinter,'FACTURA : '+wnrofac.text+' ALFAB.'+walfab.text);
if stipo='FAC' then Writeln(MyPrinter,'NR.ORDEN:'+wnorden.text+' FECHA:'+datetostr(now));
if wnomfac.Text<>'' then
Writeln(MyPrinter,'Senores : '+wnomfac.text)
else
Writeln(MyPrinter,'Senores : Clientes Varios');
//----------------------------
consulta:='select * from lgloprod where tdoc='+car+stdoc+car+' and ndoc='+inttostr(sndoc);
DModulo.QConsulta.Close;
DModulo.QConsulta.sql.Clear;
DModulo.QConsulta.sql.add(consulta);
DModulo.QConsulta.Open;
if wnit.Text<>'' then
Writeln(MyPrinter,'NIT : '+wnit.text)
else
Writeln(MyPrinter,'PARA SERVIRSE EN :'+DModulo.QConsulta.fieldbyname('refer').asstring);
//------------------------------
Writeln(MyPrinter,'-------------------------------------');
Writeln(MyPrinter,' Cant. Producto Valor ');
Writeln(MyPrinter,'-------------------------------------');
xsum:=0;
consulta:='select * from lmovpro where tdoc='+car+stdoc+car+' and ndoc='+inttostr(sndoc);
DModulo.QConsulta.Close;
DModulo.QConsulta.sql.Clear;
DModulo.QConsulta.sql.add(consulta);
DModulo.QConsulta.Open;
DModulo.QConsulta.First;
while not DModulo.QConsulta.Eof do
begin
xcan:=format('%6.2f',[DModulo.QConsulta.fieldbyname('cant').asfloat]);
xdes:=copy(DModulo.QConsulta.fieldbyname('descri').AsString,1,20);
xval:=format('%8.2f',[DModulo.QConsulta.fieldbyname('valor_bs').asfloat]);
xsum:=xsum+DModulo.QConsulta.fieldbyname('valor_bs').asfloat;
Writeln(MyPrinter,xcan+' '+xdes+' '+xval);
DModulo.QConsulta.Next;
end;
Writeln(MyPrinter,'-------------------------------------');
xtot:=format('%8.2f',[xsum]);
xpag:=format('%8.2f',[strtofloat(wpagbs.text)]);
xcam:=format('%8.2f',[strtofloat(wcamb.text)]);
Writeln(MyPrinter,' Total Facturado : '+xtot);
Writeln(MyPrinter,' Total Pagado : '+xpag);
Writeln(MyPrinter,' Cambio : '+xcam);
Writeln(MyPrinter,'-------------------------------------');
if stipo='FAC' then Writeln(MyPrinter,'MICROMARKET VIA RAPIDA LE AGRADECE') else Writeln(MyPrinter,'POLLOS ROSS LE AGRADECE');
Writeln(MyPrinter,'POR SU PREFERENCIA '+stdoc+'-'+inttostr(sndoc));
Writeln(MyPrinter,'');
Writeln(MyPrinter,'');
Writeln(MyPrinter,'');
Writeln(MyPrinter,'');
Writeln(MyPrinter,'');
Writeln(MyPrinter,'');
Writeln(MyPrinter,'');
Writeln(MyPrinter,'');
Writeln(MyPrinter,'');
//Write(MyPrinter,#12); // Expulsar la Hoja
System.CloseFile(MyPrinter);
end;

Me funciona de pelicula y es super sencillo y no te complicas como con las otras soluciones que te plantean
Responder Con Cita
  #5  
Antiguo 26-05-2008
betto betto is offline
Miembro
 
Registrado: ene 2006
Posts: 42
Poder: 0
betto Va por buen camino
Muchas Gracias A Todos!!!!

Ya Quedo...
Responder Con Cita
  #6  
Antiguo 04-09-2008
ingel ingel is offline
Miembro
 
Registrado: jun 2003
Posts: 239
Poder: 22
ingel Va por buen camino
Aprovecho el hilo ...

Me funciono de maravillas .. solo no me anduvo el salto de hoja
para cortar el papel .. yo uso una Epson TM 300A
(es la primera vez con este tipo de impresoras.. )
Deberia saltar la hoja de la misma forma que una 810 por ejemplo y despues retrodecerlo?...
Como usa rollo de papel no se si eso sera factible... sino la otra opcion es imprimir blancos hasta la posicion de corte ..lo que pasa que el siguiente ticket queda con un pedazo de ticket en blanco en la parte superior ( no es que seamos muy tacaños por aca ...pero sumado al despedicio de papel ademas queda un poco feito..)
gracias a todos
Saludos
Responder Con Cita
  #7  
Antiguo 04-09-2008
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
Si lo que te preocupa ingel es el desperdicio de papel puedes aprovechar el hecho de que el comienzo de todos los tickets es igual (logo, nombre de la empresa, dirección, teléfono, etc ...) para imprimir al final de un ticket el comienzo del siguiente. Si lo ajustas bien te podrás ahorrar esas lineas en blanco al final de cada ticket.
Responder Con Cita
  #8  
Antiguo 04-09-2008
ingel ingel is offline
Miembro
 
Registrado: jun 2003
Posts: 239
Poder: 22
ingel Va por buen camino
Gracias Seoane

Lo del desperdicio no era fundamental... lo mas fastidioso era correr y cortar el papel... pero lo pude solucionar a medias con :

Writeln(MyPrinter,'');
Writeln(MyPrinter,'');
Writeln(MyPrinter,'');
Writeln(MyPrinter,'');
Writeln(MyPrinter,'');
Writeln(MyPrinter,'');
Writeln(MyPrinter,'');
Write(MyPrinter,#27#105); //Esto 'CORTA el TICKET'

De todas formas obviamente el ticket siguiente tiene una franja de papel
ANTES de comenzar que son todos los Writeln(MyPrinter,'')
pero bueno.. puedo vivir con ello...
GRACIAS ..SDs!
Responder Con Cita
  #9  
Antiguo 17-12-2008
brandolin brandolin is offline
Miembro
 
Registrado: jul 2003
Ubicación: Mendoza
Posts: 324
Poder: 22
brandolin Va por buen camino
alquien tiene los codigos de ESC/POS de la impresora de referencia, ya que el #27#105 funciona de maravillas, me gustaria usar otros codigos mas pero no tengo manuales para buscarlos. Desde ya muchas gracias
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
QuickReport y Ticket escullar Impresión 2 20-06-2008 01:53:18
impresion ticket en XP rebollo75 Impresión 2 04-11-2004 14:19:37
Impresion de logotipo ticket luiguiray Impresión 2 25-08-2004 01:44:54
Impresiòn de un ticket trex2000 Impresión 4 06-08-2004 18:05:45
Imprimir en ticket? pgraciap Impresión 1 08-11-2003 02:12:17


La franja horaria es GMT +2. Ahora son las 19:59:19.


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