Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   listado de numeros de teclas. (https://www.clubdelphi.com/foros/showthread.php?t=57466)

ale_metall 16-06-2008 17:37:02

listado de numeros de teclas.
 
Buenas, consulto si alguien puede suministrarme un listado con los numeros correspondientes a las teclas del teclado excluyendo numeros y letras. Por ejemplo Enter #13. Lo Necesito para controlar el bloqueo de algunas teclas como '-' ',' '.' 'espacio' y demas, en mis formularios de carga de datos.

saludos..

roman 16-06-2008 17:46:40

Lo puedes encontrar en la ayuda de Delphi (busca Virtual Key Codes). No vienen los códigos, sino las constantes, que son las que dbes usar.

// Saludos

Caro 16-06-2008 18:07:56

Puedes consultar los codigos ascci, por ejemplo aquí, http://www.asciitable.com/ , lo que te comenta Roman sobre "Virtual Key Codes" también te servira de mucho.

Saluditos

ale_metall 16-06-2008 19:58:08

y de que forma podria usar esos codigos, necesito bloquear todo lo que se pueda tipear, pero que no corresponda a letras o numeros, por ejemplo en un ABM de carga de clientes, en campos que solo ingreso numeros y letras.. como bloqueo todos los demas simbolos??

Caro 17-06-2008 13:45:18

Hola ale_metall, para controlar debes utilizar los eventos OnKeyPress, OnKeyDown y OnKeyUp, ejemplo para controlar un edit.

Código Delphi [-]
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
 if not(key in [#97..#122,'ñ','A'..'Z','Ñ','0'..'9',#32,#8]) then
  key := #0;
end;

Si te fijas puedes hacerlo #97..#122 que te indica todas minusculas o también podrias haberlo hecho asi 'a'..'z', en el codigo de arriba, permitimos que se introduzca letras(mayusculas o minusculas), números, el espacio #32 y el borrado #8.

Si quieres usar los Virtual Key Codes (vk_Up->fecha arriba, vk_left->fecha izquierda, vk_delete, vk_escape->escape, vk_F1....), solo funcionan en los eventos OnKeyDown y OnKeyUp, un ejemplo digamos que no queremos que se borre en nuestro edit.

Código Delphi [-]
 
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
 if key = vk_delete then
  key := 0;
end;

Saluditos

ale_metall 17-06-2008 16:06:20

uhh, gracias caro.. y a los demas q aportaron soluciones a mi problema.. lo voy a poner en practica!!

un saludo grande.. y de nuevo gracias!


La franja horaria es GMT +2. Ahora son las 10:15:07.

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