Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 03-01-2013
Avatar de ingabraham
ingabraham ingabraham is offline
Miembro
 
Registrado: ago 2007
Posts: 614
Poder: 17
ingabraham Va por buen camino
Red face

Como abrir una caja registradora desde delphi 2007.


la caja registradora tiene un cable como el del telefono, donde va conectada, al pc o a una impresora de colillitas como la de los almacenes??

es una caja registradora de punto de venta, con un cajon portamonedas.
__________________
Enseñar es la virtud de un sabio.

Última edición por Casimiro Notevi fecha: 03-01-2013 a las 18:40:44.
Responder Con Cita
  #2  
Antiguo 03-01-2013
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is online now
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.037
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Mira los enlaces de abajo de esta página, lo mismo te pueden servir.
Responder Con Cita
  #3  
Antiguo 04-01-2013
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.461
Poder: 20
newtron Va camino a la fama
Si está conectada a una impresora de tickets la tienes que abrir enviandole una secuencia de escape a esa impresora. Esa secuencia de escape depende de cada impresora pero suele funcionar este:

27 112 0 20 100

Saludos
__________________
Be water my friend.
Responder Con Cita
  #4  
Antiguo 04-01-2013
Avatar de ingabraham
ingabraham ingabraham is offline
Miembro
 
Registrado: ago 2007
Posts: 614
Poder: 17
ingabraham Va por buen camino
Question

Cita:
Empezado por newtron Ver Mensaje
Si está conectada a una impresora de tickets la tienes que abrir enviandole una secuencia de escape a esa impresora. Esa secuencia de escape depende de cada impresora pero suele funcionar este:

27 112 0 20 100

Saludos
como los envio desde delphi? yo mando a imprimir los tickets desde mi programa.
__________________
Enseñar es la virtud de un sabio.
Responder Con Cita
  #5  
Antiguo 04-01-2013
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is online now
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.037
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por ingabraham Ver Mensaje
como los envio desde delphi? yo mando a imprimir los tickets desde mi programa.
En uno de los enlaces que te he indicado lo explica.
Responder Con Cita
  #6  
Antiguo 04-01-2013
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Poder: 21
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
ingabraham,

Cita:
Empezado por ingabraham
La caja registradora tiene un cable como el del telefono, donde va conectada, al pc o a una impresora de colillitas.
Cita:
Empezado por newtron
Esa secuencia de escape depende de cada impresora pero suele funcionar este: 27 112 0 20 100
Cita:
Empezado por ingabraham
¿Como los envio desde delphi?
Voy a asumir varias premisas:

1- Impresora de Colillitas = Impresora Fiscal
2- La Impresora Fiscal se conecta al PC vía Puerto Serial 1.
3- La Impresora funciona a 11500 Bps.
4- No Existe un Comando Específico de la Impresora Fiscal para la Apertura de la Caja Registradora, por tanto se requiere una Secuencia X.
5- La Interfaz de Conexión de la Caja Registradora con el PC es Serial.

En base a las premisas anteriores revisa este código:
Código Delphi [-]
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

function OpenBox(COMSerial : Byte) : Boolean;
var
   HCom : THandle;
   Buffer : Array[0..4] of Byte;
   CommDCB : Array[0..255] of char;
   ComPort : String;
   BytesWrites : LongWord;
   PDCB : _DCB;

begin

   COMPort := '\\.\COM' + IntToStr(COMSerial);

   HCom := CreateFile(PChar(COMPort), GENERIC_READ OR GENERIC_WRITE, 0, Nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);

   if HCom <> INVALID_HANDLE_VALUE then
   begin

      Buffer[0] := 27;
      Buffer[1] := 112;
      Buffer[2] := 0;
      Buffer[3] := 20;
      Buffer[4] := 100;

      CommDCB := 'baud=115200 parity=n data=8 stop=1 xon=off odsr=off octs=off dtr=off rts=off idsr=off';
      BuildCommDCB(@CommDCB,PDCB);
      SetCommState(hCom,PDCB);

      if not WriteFile(HCom, Buffer, 5, BytesWrites, nil) then
      begin
         ShowMessage(SysErrorMessage(GetLastError));
         Result := False;
         Exit;
      end;

      If BytesWrites <> 5 then
      begin
         MessageDlg('Error en Transmision Serial', mtInformation, [mbOK], 0);
         Result := False;
         Exit;
      end;

   end
   else
   begin
      MessageDlg('El Puerto de Comunicacion Serial No Esta Habilitado en Windows', mtInformation, [mbOK], 0);
      Result := False;
      Exit;
   end;

   Result := True;

end;

procedure TForm1.Button1Click(Sender: TObject);
begin
   if OpenBox(1) then
   // Código 1
   else
   // Código 2
end;

end.
El código anterior envía la Secuencia de Apertura sugerida por newtron vía Puerto Serial 1. Haz la prueba en los siguientes casos:

1- Caja Registradora conectada directamente al PC.
2- Caja Registradora conectada al PC por medio de la Impresora Fiscal.

Te sugiero colocar las especificaciones de la Impresora Fiscal : Marca, Modelo, Interfaz de Comunicación, Tasa de Transferencia, Comandos de Comunicación Asociados a la Caja Registradora, Cualquier otro dato de interés para la solución del problema.

Cita:
Empezado por newtron
Yo mando a imprimir los tickets desde mi programa.
Probablemente de forma análoga al envío de comandos de impresión de Tickets a la Impresora Fiscal, sea la forma para enviar un Comando o Secuencia de Apertura a la Caja Registradora, te sugiero verificarlo.

Espero sea útil

Nelson.
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
Como abrir un archivo .MEM desde Delphi? vicvil Tablas planas 3 31-10-2006 17:29:40
Como puedo abrir un PDF desde mi Delphi Shenex Varios 4 26-10-2006 20:43:34
Abrir una caja registradora cahosoft API de Windows 5 22-04-2005 18:01:05
Caja registradora en Ingles buitrago Varios 4 12-04-2005 05:04:14


La franja horaria es GMT +2. Ahora son las 18:27:31.


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