• Jueves 14 de Noviembre de 2024, 07:25

Autor Tema:  Variable "key" Del Evento "keypress"  (Leído 5492 veces)

Arquimedes01

  • Nuevo Miembro
  • *
  • Mensajes: 10
    • Ver Perfil
Variable "key" Del Evento "keypress"
« en: Jueves 25 de Octubre de 2007, 07:41 »
0
QUE ONDA A TODOS.

Me encontraba buscando la manera de validar un TEdit para que solo se puediera introducir numeros; entonces encontre este codigo en internet


Void__fastcall Tform1::Edit2KeyPress(Tobject *Sender,char &Key)
{  
      if ((Key < '0' || Key > '9') && Key != 8)
           Key=0;
}
// Se comprueba que el carácter sea un dígito o la tecla de borrado. Los caracteres //se encierran entre comillas simples porque estamos comparando un carácter tipo
// char. Asignar a Key el valor 0 es anular la pulsación.


Solo se ponen estas dos lineas en el evento keyPress del Edit, aqui sale mi duda,
me doy cuenta que por cada tecla diferente que se oprima se almacenara un valor dirente en  variable "Key"

a) quisiera saber que otros valores puede tomar esta variable a parte del las letras del abecedario y de los numeros, por ejemplo, en el codigo la variable toma el valor 0 para cancelar la pulsacion

B) la parte "(Key < '0' || Key > '9')", entendi que señala cualquier caracter que no sea un digito, pero para señalarlo lo hace haciendo una comparacion menor que y mayor que, es decir antes del '0' hay otros valores y despues del digito '9' existen otros caracteres que tienen un rango mayor. quiero saber cuales son estos valores que van antes y despues, lo que estoy pidiendo seria la lista ordenada de los caracteres desdel el rango menor hasta el mayor

c) cualquier informacion sobre este evento o sobre sobre esta variable lo agradecere muchisimo

DE ANTE MANO MUCHISIMAS GRACIAS POR TOMARSE EL TIEMPO PARA LEER MIS DUDAS, Y EN CASO DE SABER LA RESPUESTA, MUCHISIMAS GRACIAS MÁS.

Linspire

  • Miembro MUY activo
  • ***
  • Mensajes: 232
    • Ver Perfil
    • http://www.cedrela.com.mx
Re: Variable "key" Del Evento "keypress"
« Respuesta #1 en: Jueves 25 de Octubre de 2007, 17:47 »
0
Porque no vas almacenando todos los valores de las teclas pulsadas en un vector y al final los muestras en pantalla, o si solo lo que quieres es conocer el valor de cada caracter, no precisamente cuando se pulsa, tal vez te sirva esto:

 :whistling: crea un ciclo for de la siguiente forma:
Código: Text
  1.  
  2. int i;
  3. char car='a';
  4. StringGrid1-&#62;RowCount=256;
  5.  
  6. for(i=0;i&#60;256;i++)
  7. {
  8. car++;
  9. StringGrid1-&#62;Cells[0][i]=car;
  10. }
  11.  

Espero haberte ayudado, y si no explicame otra vez porque tal vez no haya entendido. :rolleyes:
[size=109]My Blog de Programación[/i][/b][/size]
´


[size=109]Tan solo quiero pensar que todo es un sueño y que no quiero despertar
porque quiero controlarlo como yo quiera.
[/size]

Todo es posible, lo imposible solo cuesta un poco más. Dan Drown.

Arquimedes01

  • Nuevo Miembro
  • *
  • Mensajes: 10
    • Ver Perfil
Re: Variable "key" Del Evento "keypress"
« Respuesta #2 en: Sábado 27 de Octubre de 2007, 01:23 »
0
Si es eso lo que queria saber en parte, por otro lado a parte de los 256 caracteres, veo que la variable Key puede tomar otros, como en el codigo:

Void__fastcall Tform1::Edit2KeyPress(Tobject *Sender,char &Key)
{
if ((Key < '0' || Key > '9') && Key != 8)
Key=0;
}


Key='0'  // lo cual no es lo mismo que
Key=0

osea, que valores toma Key si yo oprimo, enter, la barra espaciadora, o teclas direccionales. Si alguien sabe de esto le agradecere su ayuda.

por cierto:  !!MUCHAS GRACIAS LINSPIRE".

Linspire

  • Miembro MUY activo
  • ***
  • Mensajes: 232
    • Ver Perfil
    • http://www.cedrela.com.mx
Re: Variable "key" Del Evento "keypress"
« Respuesta #3 en: Sábado 27 de Octubre de 2007, 01:51 »
0
B) Pues no es tan dificil, puedes hacer esto

char tecla;
tecla=key; //pones un breakpoint aqui


Pues pones un breakpoint donde te lo indico, corres el programa y vas checando las teclas que vayas oprimiendo, asi de simple (eso creo)

De nadas!.. y espero te sirva :D

PD. Oviamente en el OnKeyPress
[size=109]My Blog de Programación[/i][/b][/size]
´


[size=109]Tan solo quiero pensar que todo es un sueño y que no quiero despertar
porque quiero controlarlo como yo quiera.
[/size]

Todo es posible, lo imposible solo cuesta un poco más. Dan Drown.

Kabern

  • Nuevo Miembro
  • *
  • Mensajes: 14
    • Ver Perfil
Re: Variable "key" Del Evento "keypress"
« Respuesta #4 en: Miércoles 19 de Diciembre de 2007, 00:01 »
0
Todo programador debe saber que es el codigo ASCII, por ejemplo a la letra "A" le corresponde el codigo 65, al cero le corresponde 48 al 9 el 57, al ENTER el 13, el ESC 32, etc y cada tecla, tiene su codigo en el rango del 0 al 256.  si comparas 9>'A' es falso, (48 no es mayor que 65).

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Variable "key" Del Evento "keypress"
« Respuesta #5 en: Miércoles 19 de Diciembre de 2007, 00:28 »
0
Cita de: "Kabern"
Todo programador debe saber que es el codigo ASCII, por ejemplo a la letra "A" le corresponde el codigo 65, al cero le corresponde 48 al 9 el 57, al ENTER el 13, el ESC 32, etc y cada tecla, tiene su codigo en el rango del 0 al 256.  si comparas 9>'A' es falso, (48 no es mayor que 65).
Si comparas 9 > 'A' es falso, 9 es menor a 65 (9 no es '9').

Por favor no respondas en temas que ya estan resueltos meses despues.

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.