Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   ¿como imprimir a impresora (tickets)en delphi 2010 win32? (https://www.clubdelphi.com/foros/showthread.php?t=69705)

JXJ 02-09-2010 22:25:47

¿como imprimir a impresora (tickets)en delphi 2010 win32?
 
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.

Código Delphi [-]
//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

Report manager
 
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


La franja horaria es GMT +2. Ahora son las 16:49:00.

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