PDA

Ver la Versión Completa : ¿como imprimir a impresora (tickets)en delphi 2010 win32?


JXJ
02-09-2010, 22:25:47
no saben como se hace para imprimir a una impresora
de tickets en delphi 2010

quiero hacer mis tickets pero como nunca he tenido impresora
ni idea de qeu codigo se usa

FGarcia
03-09-2010, 02:44:44
mmmm pues a estas alturas creo que solo hay de dos sopas: USB o Serial
Ultimamente no he visto esto de las impresoras de tickets pero a lo mejor ya tambien hay con Ethernet.

Serial, deberas de instalar en Delphi los componentes APRO en la version para d2010, disculpame pero no recuerdo el enlace, seguro San Gooogle te ayuda.

USB, el fabricante proporcionara un disco con el driver adecuado o probablemente te permita descargarlo de la red.

En Ethernet ni idea.

Codigo........busca en la web de seoane.

erickahr
03-09-2010, 22:27:35
Ok, mira yo en lo personal si es un proyecto 100% nuevo, te recomiendo comprar una USB, viene con controladores, y la puedes compartir por red en caso de contar con mas de una caja, y para imprimir puedes vaciar el contenido en un richedit y luego solo usar el metodo print del mismo, te recomiendo USB, porque yo estoy metido en un lio con las LPT :eek:, y tratando de salir :p. Saludos!

JordiP
04-09-2010, 01:26:22
Creo que JXJ se refiere a como hacer el TICKET. Yo utilizaria el RAVE report que viene con DELPHI o tambien el Quick Report, son bastante sencillos de utilizar. Despues para comunicarte con la impresora, utiliza el componente adecuado, si es USB o SERIAL.:)

FGarcia
05-09-2010, 01:17:53
Ciertamente puedes generar una plantilla de boleto con algun reporteador y despues darle salida por el puerto deseado. Hace algun tipo hice esto usando un memo, es para algo en particular por lo que solo interpreta el como lo hice.


//Este procedimiento se llama desde algun punto del programa
procedure tfrmPBoletos.showBoleto ;
begin
with Memo1.Lines do
begin
Clear ;
Add('MiEmpresa');
Add('MiDomicilio');
Add('MiCiudad');
Add('MiCodigoFiscal');
Add('MiTelefono' + #13#10);
Add('*****REIMPRESION DE BOLETO*****');
Add('');
Add(' Folio: ' + DM_Varios.PadString(IntToStr(frmDatos.MDOSalida.FieldByName('FOLIO').AsInteger),'0',7,toLeft));
Add('Vehiculo Placas: ' + frmDatos.MDOSalida.FieldByName('PLACAS').AsString);
Add('Transporte: ' + frmDatos.MDOSalida.FieldByName('TRANSPORTE').AsString);

if Trim(frmDatos.MDOSalida.FieldByName('OPERADOR').AsString) = '' then
Memo1.Lines.Add('')
else
Memo1.Lines.Add('Operador: ' + frmDatos.MDOSalida.FieldByName('OPERADOR').AsString + #13#10);

Add('Origen: ' + frmDatos.MDOSalida.FieldByName('ORIGEN').AsString);
Add('Cliente:' + frmDatos.MDOSalida.FieldByName('NOMBRE').AsString);
Add('Producto: ' + frmDatos.MDOSalida.FieldByName('PRODUCTO').AsString + #13#10);
Add('');

if Trim(frmDatos.MDOSalida.FieldByName('OBS').AsString) = '' then
Memo1.Lines.Add('')
else
begin
Memo1.Lines.Add('Observaciones: ' + #13#10);
Memo1.Lines.Add(frmDatos.MDOSalida.FieldByName('OBS').AsString);
end;
end;
end;

{Cuando se hace clik en el boton de impresion.
En este caso doy salida por el puerto serie Com1;
use el ComPort de Djan Cernilla}

procedure TfrmPBoletos.btnImprimeClick(Sender: TObject);
var
i: integer;
begin
for i := 0 to Memo1.Lines.Count - 1 do
DM_Formatos.ComPort1.WriteStr(Memo1.Lines[i] + #13#10);
Close;
end;

//Este procedimiento limita a 40 caracteres las lineas del memo
procedure TfrmPBoletos.Memo1Change(Sender: TObject);
begin
if (Length(Memo1.Lines.Text) mod 40) = 0 then
begin
Memo1.Lines.Add(''); //nueva linea
Memo1.SelStart := Length(Memo1.Lines.Text); //mover cursor
end;
end;

bismarck_sierra
22-09-2010, 19:13:22
Que tal

Yo utilizo las impresoras de tickets Epson TM-U220 son de impacto las encuentras comunmente en puerto serial y paralelo, las USB son dificiles de conseguir, prefiero el paralelo aunque algunas computadoras ya no traen ese puerto le pongo un cable convertidor de USB->Paralelo.

Para imprimir el ticket utilizo report manager se puede instalar en todas las versiones de Delphi (desconozco si funcione con XE).

El report manager tiene funciones para cortar el papel y abrir el cajón de dinero conectado a la impresora de tickets.

Puedes imprimir directamente con las fuentes (tipos de letra) de la impresora o con las fuentes que tengas instaladas en tu sistema operativo.

Saludos