Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Duda al Hook de Roman :) (https://www.clubdelphi.com/foros/showthread.php?t=25028)

marceloalegre 09-09-2005 14:52:53

Duda al Hook de Roman :)
 
Para los que no saben Roman es autor de un excelente hook de teclado que no usa dll... este es el link:

http://www.clubdelphi.com/users/roman/hooks.php

Tengo una duda: como puedo preguntar si la tecla ingresada es letra (tanto mayuscula y minuscula y numero?

calculo que con un if podria solucionar todo... pero no se como hacerlo :)

Me darian una mano amigos?

Gracias!

dec 09-09-2005 15:40:18

Hola,

A ver si esto pudiera servir:

Código Delphi [-]
 var
   tecla: Char;
 begin
   tecla := 'A';
   if (tecla in ['0'..'9']) then
     ShowMessage('Es un número');
   if (tecla in ['A'..'Z']) then
     ShowMessage('Es una letra mayúscula');
   if (tecla in ['a'..'z']) then
     ShowMessage('Es una letra minúscula');
 end;

marceloalegre 09-09-2005 15:54:10

el tema es que hay que manejarse con los caracteres de la uses windows y no se como preguntar:
ejem( si Vk_Code en Vk_0 a vk_9 entonces mensaje('es igual al ascii de 0 a 9')

algo asi... jaja me cuesta explicarme!! espero se entienda!!

dec 09-09-2005 16:12:51

Hola,

Prueba a ver utilizando la función "Chr" con la tecla que precises. Pero, tengo la sensación de que algo se me escapa, porque haciendo alguna que otra prueba en el evento "OnKeyDown" de un formulario no obtengo los mismos resulados que antes utilizando el evento "OnKeyPress".

Sabes que la diferencia entre estos eventos (para lo que nos ocupa) es que en el primero contamos con una parámetro "Key" de tipo "Word", y en el segundo contamos con un parámetro "Key" de tipo "Char".

Pues bien, el código que antes propuse parece ir bien en el evento "OnKeyPress" (con "Key" de tipo "Char") pero, no parece ir del todo bien en el evento "OnKeyDown" (con "Key" de tipo "Word")...

Actualización: He dicho que tengo problemas haciendo pruebas en el evento "OnKeyDown", pero no he dicho qué problemas. Pues bien, la cosa está en que usando el código de más arriba en el evento "OnKeyPress" se "reconocen" las mayúsculas, las minúsculas y los números: en el evento "OnKeyDown" los números bien, gracias, pero las letras siempre son mayúsculas... aun cuando no lo sean...

marceloalegre 09-09-2005 17:30:27

siiii! las mayusculas y minusculas las toma igual al hacer alguna comparacion...que raro....¿? ya que en pantalla estoy viendo valores numericos distintos con un tcardialedit cortesia de delphi.com.ar.
mmm para lo que necesito con estoy me sirver... pero estaria bueno saber que esta pasando con esto....


Gracias por la ayuda mi amigo Dec!


La franja horaria es GMT +2. Ahora son las 20:52:28.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi