Abrir - Cerrar Cajón de dinero

¿Me gustaría saber si hay alguna manera de detectar cuando ya se haya cerrado el cajón del dinero? En un programa en Delphi7...
Tengo códigos para abrirlo, pero no he encontrado si existe alguna manera para no permitir seguir con la ejecución del programa hasta que se haya cerrado el cajón...

1 respuesta

Respuesta
1
Nunca he tenido ese problema presente, pero recuerdo algo.
Supongo que usas un componente para manipular el puerto serial o paralelo, ¿cierto? Con el cual mandas los códigos para poder abrir el cajón.
Bueno si es así ese componente debe tener un evento de repuesta, misma que deberás encontrar en el manual de programador de la caja registradora, si más no lo recuerdo ahí te debe decir que retorna cuando es cerrada. O la otra seria, hacer un ciclo en el cual estés enviando un código al puerto el cual te indique el estatus de la caja, también ese código deberá estar de saber el estatus deberá estar en el manual. Creo que esa seria la mejor opción un ciclo que este vericando el estatus de la caja, cerrada o abierta y lógicamente lo terminarías hasta que te indique que este cerrada.
Ok, me parece una buena opción lo del ciclo... el problema es que no estoy utilizando algún componente que abra directamente el cajón...
La manera de como abro el cajón es a través de una miniprinter SAM4S - ELLIX20... la mando los caracteres de control #27+#120+#0 (si no mal recuerdo)... y no se si se pueda leer desde Delphi el estado del cajón, ya que esos caracteres lo abren pero no se si haya respuesta bidireccional
Estoy haciendo un programa con Delphi7 utilizando los componentes Zeos conectándome a mysql5.0... el problema que tengo es que utilizo el componente TZQuery (le cambie el nombre a query1) y en código le pongo query1. open; query1. insert; despues hago las asignaciones y al final pongo query1.post...
esto no me guarda ningun dato en la base de datos, no marca ningun error, el query1 tiene en su propiedad sql.text = "select * from tabla" ....
Mientras estoy ejecutando el programa aparentemente si guarda los datos, ya que si me muestra lo que estoy guardando... pero enla base de datos no existen esos registros... y al cerrar el programa y volver a ejecutarlo ya no se ven esos datos en el sistema, ya que no se guardaron..
Lo más extraño es que hay una parte del sistema que si se guarda la información de esta manera .. pero en lo ultimo que he programado no lo hace!
Es urgente...
También lo he intentado así:
QueryActualiza.sql.text := 'insert into tabla values(1,2,3)';
QueryActualiza.execsql;
Y tampoco me guardo nada! :S
Si debe haber respuesta bidireccional, yo recuerdo que programe un sistema donde detectaba si la impresora esta prendida o apagada o le faltaba papel... etc, y esto lo hacia manipulando el puerto paralelo, hay un componente que se llama TCOM para delphi, y con eso, lo hacia, igual tu debéis poder hacerlo, no se como esta eso que lo manejas a través de la miniprinter, ¿me imagino que esa miniprinter esta a un puerto de la computadora y el cajo esta a un puerto de la miniprinter que supongo deberá ser también un puerto paralelo no?
El puerto es serial... y si, el cajón esta conectado a la miniprinter... y a la impresora es a la que le mando los caracteres de control para abrir el cajón...
Ya verificaste el manual de tu caja, en el manual debe traer una parte para programación y debe darte los caracteres para que este te pueda contestar es decir si quisieras saber el estatus, ¿al igual como le mandas los caracteres a la impresiora para abrir igualmente deberás mandar unos caracteres como haciéndole una pregunta... si me explico?

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas