Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Teclas de Funcion con Visual Basic

770 views
Skip to first unread message

Orlando Leal

unread,
Aug 29, 2003, 11:23:52 AM8/29/03
to
Hola amigos, tengo un problema, resulta que estoy desarrollando un programa
en VB para administrar la parte de caja en una serie de almacenes, no
queremos usar el Mouse porque esto haría la facturación muy lenta y lo que
mas necesitamos es agilidad porque los almacenes se llenan mucho, entonces
decidimos manejar toda la parte de Grabar, Modificar, Agregar, Imprimir
registros con las teclas de función f1,f2,f3,f4,f5,f6,f7 ...... mi pregunta
es: como lo hago por que no tengo ni idea ??

Un ejemplo: Si tengo el setfocus en un campo de texto y presiono por ejemplo
f1 esta tecla me valide no solo el campo de texto sino también todo el
formulario.

Saga

unread,
Aug 29, 2003, 12:48:12 PM8/29/03
to

1. Pone la propiedad de la forma KeyPreview en True

2.:
Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)

Select Case KeyCode
Case vbKeyF1
MsgBox "F1 pressed"
Case vbKeyF2
MsgBox "F2 pressed"
Case vbKeyF3
MsgBox "F3 pressed"
End Select

End Sub

Si quieres que las teclas Fn funciones a nivel de componente, entonces
usa el evento KeyUp del componente (tal como caja de texto o Combo
List)

Suerte
Saga

"Orlando Leal" <orlan...@hotmail.com> wrote in message
news:OTHRxFkb...@TK2MSFTNGP09.phx.gbl...

Leonardo Azpurua

unread,
Aug 29, 2003, 7:46:46 PM8/29/03
to

"Orlando Leal" <orlan...@hotmail.com> escribió en el mensaje
news:OTHRxFkb...@TK2MSFTNGP09.phx.gbl...

Orlando:

Por tu propio bien: ni se te ocurra pensar en esas tonterías de Grabar,
Modificar y Agregar en un programa de punto de ventas para un gran almacén.

¿Cómo funciona el punto de ventas de un almacen?

1.- El comprador entrega la mercancia.
2.- Para cada item de mercancía, el operador lo agrega a la factura (puede
agregar varias unidades, por ejemplo introduciendo "*6" despues de pasar un
código para agregar no una sino seis unidades).
3.- Al terminar, el operador instruye al terminal para que cierre la compra.

La interfaz más sensata es una forma con una sola caja de texto, en la cual
se puede A: introducir el código de un producto, B: introducir un comando o
C: Terminar la operación.

En mi programa de TPV uso "-" para indicar la eliminación de un renglón,
"*n" para multiplicar por n unidades del último código introducido, y
"+mmmm" para indicar un producto genérico con un valor de mmmm doblezones:
como ves, sólo son teclas del teclado numérico y sus alrededores: reducir el
rango de movimiento de la mano del operador simplifica el aprendizaje del
sistema y reduce la probabilidad de errores. Pulsando Enter con el control
en blanco se indica el fin de la factura (o el fin de la sesion, si la
factura está vacía). Lo demás son códigos de producto, generalmente
introducidos a través de un lector de código de barras conectado al puerto
de teclado.

Adicionalmente, puedes utilizar una o más teclas de función (tal vez
apoyadas por botones de comando con una tecla de acceso directo - por
ejemplo &Anular Operacion- que hará la interfaz más intuitiva).

Es necesario que hagas "eco" de la descripción, precio y cantidad del último
producto leído, y que en todo momento mantengas el total en pantalla. Yo uso
adicionalmente un Flexgrid donde voy mostrando los detalles que se van
agregando.

De esta manera, el conocimiento y atención requeridos por el operador son
prácticamente nulos, y se puede concentrar en atender bien al cliente y en
que no se lleven la mercancía.

--
Salud!

Leonardo / MVP Visual Basic
leonardo<arroba>lazpurua<punto>com
www.lazpurua.com
Caracas, Venezuela

Guía de uso del foro:
http://perso.wanadoo.es/rubenvigon/foro


Leonardo Azpurua

unread,
Aug 29, 2003, 7:57:03 PM8/29/03
to

"Leonardo Azpurua" <l e o n a r d o (arroba) m v p s (punto) o r g> escribió
en el mensaje news:u3Ks6eob...@TK2MSFTNGP11.phx.gbl...

...un montón de advertencias, y se olvidó de decir que la pulsación de una
tecla de función se detecta en el evento KeyDown, comparando el valor de
KeyCode contra el rango vbKeyF1 a vbKeyF12, que era lo que estaban
preguntando ;-)

Si quieres interceptar las teclas de función a nivel de forma
(independientemente de cual sea el control activo al momento de la
pulsación), defines la propiedad KeyPreview de la forma a True, y escribes
el código en Form_KeyDown.

Ahora sí:

Salud!


Fernando Ise

unread,
Sep 1, 2003, 8:11:17 AM9/1/03
to
Buscando agilidad en un punto de venta acostumbro esperar un nuevo ítem por
default, coincido con Leo en lo de ingresar la cantidad solo cuando esta es
distinto de 1 y para cerrar los tickets a los fines de agilidad uso el signo
"+", así el operador puede realizar el trabajo desde el teclado
numérico.Saludos

--

Saludos
Fernando Ise
Santiago del Estero - Argentina


"Orlando Leal" <orlan...@hotmail.com> escribió en el mensaje
news:OTHRxFkb...@TK2MSFTNGP09.phx.gbl...

0 new messages