Abrir cajón portamonedas
#1
Escrito 11 marzo 2011 - 07:52
Estaba pensando en añadir esta posibilidad a un pequeño programa que hice para contar las monedes de la caja. Abrir el cajón en sí, creo que no tendré problemas, estuve mirando el código fuente de facturlinex2 y supongo que podré hacerlo. Y si no, seguiré buscando que seguro que es fácil encontrar como hacerlo.
Pero se me ha planteado otra duda y es si habrá alguna manera de que mediante código averiguar cual de las impresoras instaladas en el sistema es la que abre el cajón. Sin poner ninguna opción para que el usuario seleccione una.
Había pensado en buscarlas por el nombre, ya que, al menos en mis 3 tiendas, dicha impresora se llama "ticket", pero no tendría por que ser así.
¿Será posible hacer eso? ¿Alguna idea de cómo hacerlo?
Saludos
#2
Escrito 11 marzo 2011 - 08:22
Lo que no recuerdo es como preguntarle los tamaños de pagina a las impresoras, pero seguro que se puede, alguna vez lo he visto pasar por mi pantalla... igual está en las ayudas de delphi, o en las de win32, en google seguro).
#3
Escrito 11 marzo 2011 - 12:04
Puedes preguntar a las API de win32 qué formatos de papel admite cada impresora instalada, desechar las que admitan A4, y quedarte solo con las de "papel pequeño" (mirando en una impresora conocida qué formatos te propone), eso deberia dejarte solo la impresora de tiquets.
Lo que no recuerdo es como preguntarle los tamaños de pagina a las impresoras, pero seguro que se puede, alguna vez lo he visto pasar por mi pantalla... igual está en las ayudas de delphi, o en las de win32, en google seguro).
Pues sí, esa es otra opción. Pero tendría que ser sin usar la API de win32, ya que el programa deberá funcionar también sobre linux.
Voy a tratar de hacer un programa que me de todas las características de las impresoras instaladas y así veo en qué más me puedo fijar.
Saludos
#4
Escrito 11 marzo 2011 - 12:11
Saludos.
#5
Escrito 12 marzo 2011 - 08:15
Yo no me complicaría demasiado con el tema. Nunca va a funcionar bien al 100% (fácilmente te encontrarás con equipos que ya han tenido un par de impresoras de tiquets, y que aún tienen el driver instalado, entonces no podrás identificar cual es la buena actualmente), y para hacer algo que va a fallar a veces, personalmente prefiero sacar una lista de las impresoras y que el usuario indique cual es la impresora de tiquets conectada al cajón.
Cierto lo que comentas, puede ocurrir. Esto, más que nada, es curiosidad, cuando no tengo clientes me aburro y me da por pensar y se me ocurren estas cosas
De todas formas esto es algo que solo irá a parar a mis tiendas, por lo que es más fácil de controlar. Hoy me puse y lo terminé de la siguiente forma, como en todas mis tiendas, la impresora que abre el cajón se llama "ticket", escribí el código para que use esa impresora. Así no me complico mas.
Saludos
#6
Escrito 14 abril 2011 - 03:41
Igual es una chorrada pero....
Saludos;
Marc Miralles
#7
Escrito 14 abril 2011 - 07:22
¿Y si optas por la opción media? Es decir en un archivo de configuración grabas el nombre de la impresora de tickets, esto para cada terminal; una vez configurado ya no hay que preocuparse más del tema. Únicamente si se cambia de impresora de tickets haría falta cambiar de nuevo, pero con esto se minimizaría mucho la elección de impresoras por parte del usuario.
Desde luego, la telepatía existe, sin duda.
Hace un par de días un vecino vio el programa y me pidió si le podía poner una copia en su ordenador, así que fui a ver su impresora y el nombre que le había dado y recompilé el programa para él y se lo instalé.
Pero, precisamente, se me ocurrió hacer justo lo que dices, por si a algún vecino más se le antoja . Mi idea es guardar el nombre de la impresora en un archivo, entonces, al iniciar el programa comprobar si existe ese archivo y si contiene el nombre de una impresora instalada en el sistema y si es así usarla, si no, mostrar una ventana en la que escoger una de entre las instaladas y guardarla en dicho archivo.
La duda que me queda es si la secuencia de escape para abrir el cajón es la misma en todos los modelos, solo he podido probar en la marca samsung, que son las que yo tengo, así como el vecino que me pidió la copia.
Saludos
#8
Escrito 14 abril 2011 - 09:17
Hola
¿Y si optas por la opción media? Es decir en un archivo de configuración grabas el nombre de la impresora de tickets, esto para cada terminal; una vez configurado ya no hay que preocuparse más del tema. Únicamente si se cambia de impresora de tickets haría falta cambiar de nuevo, pero con esto se minimizaría mucho la elección de impresoras por parte del usuario.
Desde luego, la telepatía existe, sin duda.
Hace un par de días un vecino vio el programa y me pidió si le podía poner una copia en su ordenador, así que fui a ver su impresora y el nombre que le había dado y recompilé el programa para él y se lo instalé.
Pero, precisamente, se me ocurrió hacer justo lo que dices, por si a algún vecino más se le antoja . Mi idea es guardar el nombre de la impresora en un archivo, entonces, al iniciar el programa comprobar si existe ese archivo y si contiene el nombre de una impresora instalada en el sistema y si es así usarla, si no, mostrar una ventana en la que escoger una de entre las instaladas y guardarla en dicho archivo.
La duda que me queda es si la secuencia de escape para abrir el cajón es la misma en todos los modelos, solo he podido probar en la marca samsung, que son las que yo tengo, así como el vecino que me pidió la copia.
Saludos
No, las cadenas de escape no son iguales en las distintas impresoras (aunque la secuencia de escape para las Epson suele funcionar en muchos modelos).
En el archivo de configuración, además del nombre de la impresora tienes que guardar la secuencia de escape para ella.
Saludos.
#9
Escrito 14 abril 2011 - 10:14
Me acuerdo de los tiempos de D.O.S. y Clipper, que con mandarle un Ctrl + G al puerto de la impresora se abría el cajón de dinero..., Cosas veredes, Sancho amigo mío...
#10
Escrito 14 abril 2011 - 10:26
Hola
La duda que me queda es si la secuencia de escape para abrir el cajón es la misma en todos los modelos, solo he podido probar en la marca samsung, que son las que yo tengo, así como el vecino que me pidió la copia.
Saludos
Pues lo mismo que Marc (¿Será porque nos llamamos igual de nombre? ) te iba a decir yo, en el fichero de configuración guardas el código para abrir el cajón. Tambien había unas Epson en las que el codigo era un determinado tipo de letra que traía en los drivers de la misma y que era al que mandaba a la impresora abrir el cajón, o sea que en algunas tambien se puede hacer que sea el final del tiquet el que abre el cajón. En fin, complejidades de la vida, jeje.