Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 29-08-2008
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: Feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 18
seoane Va por buen camino
Imprimir usando OPOS

¿Alguien ha utilizado los driver OPOS para imprimir desde un TPV (Terminal de Punto de Venta)? Me gustaría saber como funciona, o por lo menos por donde empezar.
Responder Con Cita
  #2  
Antiguo 29-08-2008
[egostar] egostar is offline
Registrado
 
Registrado: Feb 2006
Posts: 6.421
Poder: 19
egostar Va por buen camino
Hola amigo seoane, la verdad es que quisiera ayudarte, pero no los conozco, tal vez esto te sirva.

http://www.delphipages.com/threads/t...=93105&G=93066
http://monroecs.com/oposccos.htm

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #3  
Antiguo 30-08-2008
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: Feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 18
seoane Va por buen camino
Voy haciendo progresos, he descargado un ActiveX de aquí (http://monroecs.com/oposccos_current.htm) y he importado el componente TOPOSPOSPrinter (y no es fácil hacer esto último el Turbo delphi explorer ). Luego implemente en Delphi el ejemplo que se puede descargar de la misma pagina que el ActiveX.

Y ahí me quede, porque, aunque parece que no explota al ejecutarse , tampoco puedo saber si funciona ya que no estoy en el trabajo y no tengo a mano una impresora de tickets.

El lunes probare, mientras tanto si alguien quiere poner algún otro ejemplo ...
Responder Con Cita
  #4  
Antiguo 30-08-2008
[egostar] egostar is offline
Registrado
 
Registrado: Feb 2006
Posts: 6.421
Poder: 19
egostar Va por buen camino
Ah que bien, que bueno que te haya servido.

Salud OS

PD: Vaya contigo, que bien eso del explorer
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #5  
Antiguo 01-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: 18
seoane Va por buen camino
Pues ya es lunes, y he probado el código con una impresora de tickets (Toshiba A10) y va de maravilla. Solo me falta saber como puedo hacer para imprimir el logo, o por lo menos saber como mandar las secuencias de escape para imprimirlo yo mismo.

El código es el siguiente (el formulario son un edit, tres botones, un memo y un componente TOPOSPOSPRinter).

Código Delphi [-]
unit ufrmMain;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, OleCtrls, OposPOSPrinter_CCO_TLB, StdCtrls;
type
  TfrmMain = class(TForm)
    OPOSPrinter: TOPOSPOSPrinter;
    btnOpen: TButton;
    txtLog: TMemo;
    btnClose: TButton;
    btnPrint: TButton;
    txtPrinter: TEdit;
    procedure FormCreate(Sender: TObject);
    procedure OPOSPrinterStatusUpdateEvent(ASender: TObject; Data: Integer);
    procedure btnOpenClick(Sender: TObject);
    procedure btnCloseClick(Sender: TObject);
    procedure btnPrintClick(Sender: TObject);
    procedure OPOSPrinterOutputCompleteEvent(ASender: TObject;
      OutputID: Integer);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  frmMain: TfrmMain;
implementation
{$R *.dfm}
uses OPOSConst;
procedure TfrmMain.btnCloseClick(Sender: TObject);
var
  nRC: Integer;
begin
  txtLog.Lines.Add('+Close');
 OPOSPrinter.Close(nRC);
 txtLog.Lines.Add('  Close: RC = ' + IntToStr(nRC));
  if nRC = OPOS_SUCCESS  then
   txtLog.Lines.Add('-Close: Succeeded')
  else
    txtLog.Lines.Add('-Close: Failed');
end;
 
procedure TfrmMain.btnOpenClick(Sender: TObject);
var
  nRC: Integer;
begin
  if txtPrinter.Text <> EmptyStr then
  begin
    txtLog.Lines.Add('+Open: DeviceName = ' + txtPrinter.Text);
    // Open the printer
    OPOSPrinter.Open(txtPrinter.Text,nRC);
    txtLog.Lines.Add('  Open: RC = ' + IntToStr(nRC));
    // If succeeded, then claim.
    if nRC = OPOS_SUCCESS  then
    begin
      OPOSPrinter.ClaimDevice(1000,nRC);
      txtLog.Lines.Add('  Claim: RC = ' + IntToStr(nRC));
      // If succeeded, then enable.
      if nRC = OPOS_SUCCESS then
      begin
        nrc:= OPOSPRinter.DefaultInterface.Set_DeviceEnabled(TRUE);
        txtLog.Lines.Add('  Enable: RC = ' + IntToStr(nRC));
      end;
      txtLog.Lines.Add('-Open: Succeeded');
    end else
      txtLog.Lines.Add('-Open: Failed');
  end;
end;
procedure TfrmMain.btnPrintClick(Sender: TObject);
var
  nRC: Integer;
begin
  txtLog.Lines.Add('+Print');
 OPOSPrinter.PrintNormal(PTR_S_RECEIPT, WideString('Hola mundo')+#0013#0010,nRC);
 txtLog.Lines.Add('  Print: RC = ' + IntToStr(nRC));
 if nRC = OPOS_SUCCESS  then
   txtLog.Lines.Add('-Print: Succeeded')
  else
    txtLog.Lines.Add('-Print: Failed');
end;
procedure TfrmMain.FormCreate(Sender: TObject);
begin
  //
end;
procedure TfrmMain.OPOSPrinterOutputCompleteEvent(ASender: TObject;
  OutputID: Integer);
begin
  txtLog.Lines.Add('  OutputComplete: ' + IntToStr(OutputID));
end;
procedure TfrmMain.OPOSPrinterStatusUpdateEvent(ASender: TObject;
  Data: Integer);
begin
  txtLog.Lines.Add('  StatusUpdate: ' + IntToStr(Data));
end;
end.
Responder Con Cita
  #6  
Antiguo 01-09-2008
[egostar] egostar is offline
Registrado
 
Registrado: Feb 2006
Posts: 6.421
Poder: 19
egostar Va por buen camino
Hola amigo

Me encontré este documento, a ver si te es de utilidad

http://www.thebarcodewarehouse.co.uk...iiitrm_e_1.pdf

De hecho me imagino que puedes usar la función relativa a OpenDrawer

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #7  
Antiguo 06-10-2008
Avatar de Cañones
Cañones Cañones is offline
Miembro
 
Registrado: Jan 2007
Ubicación: La Paz Entre Ríos
Posts: 352
Poder: 12
Cañones Va por buen camino
Hola.

Yo estoy probando de imprimir con una impresora Epson con el ocx Opos.
Ya lo tengo instalado en mi delphi.
Me podes decir que tengo que haer ahora, donde va el componente, es raro porque la unica propiedad que puedo cambiar es el Name y el resto de las propiedades no se entiende que son y muchas tienen el mismo numero Ej: MapMode 83425452, outputId 83425452.

Gracias y saludos.
Responder Con Cita
  #8  
Antiguo 06-10-2008
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: Feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 18
seoane Va por buen camino
Cita:
Empezado por Cañones Ver Mensaje
Yo estoy probando de imprimir con una impresora Epson con el ocx Opos.
Ya lo tengo instalado en mi delphi.
Me podes decir que tengo que haer ahora, donde va el componente, es raro porque la unica propiedad que puedo cambiar es el Name y el resto de las propiedades no se entiende que son y muchas tienen el mismo numero Ej: MapMode 83425452, outputId 83425452.
No te puedo ayudar mucho, ya que yo he usado el Activex que menciono arriba (http://monroecs.com/oposccos_current.htm) que, en principio, puede trabajar con cualquier impresora que tenga driver OPOS, es decir, tu instalas el driver OPOS de tu impresora y luego instalas este ActiveX.

El componente que importas desde este ActiveX apenas tiene propiedades, prácticamente son todo funciones, y ninguna es extraña (Name, Height, Left, etc ...)
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Imprimir usando distintas impresoras luxus Impresión 3 03-04-2008 14:00:49
Imprimir usando un DBLookupComboBox esimon Impresión 0 05-10-2007 20:39:19
Drivers OPOS???? tarco35 Impresión 2 19-01-2007 20:58:24
¿Como Imprimir Rápido en QReport usando Impresoras Matriciales? AGAG4 Impresión 13 19-08-2006 03:32:08
Como imprimir imagen usando la ruta de esta AndGaG Impresión 3 11-07-2006 22:14:25


La franja horaria es GMT +2. Ahora son las 18:34:25.


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