Habilitar la tecla Delete en ingreso de Numeros en un TEDIT
Hola amigos, tengo el siguiente problema, quiero que en un TEdit solo se pueda ingresar números enteros, y que permita que se borre con las teclas backspace y delete, hice lo siguiente en el evento OnKeyPress.
El único problema es, que no se que como permitir que se borre cuando se presione la tecla delete, el hexadecimal #8 es el Backspace en ASCII, tambien encontre que el #22 representa el Pegar (Ctrl + V) y #3 el Copiar (Ctrl + V), pero no encontre cual representa el caracter enviado al presionar la tecla DELETE, .......... además donde puedo encontrar la lista completa de estos codigos ascii? que recive el evento OnKeyPress?? Salu2. |
Saludos
Prueba con #46 |
#46??
No borra cuando presiono delete, y de donde sacaste esa conclusion???, hay algun link donde pueda saber los codigos??
Gracias por responder (increible la rapides de la respuesta, jejeje). Salu2 |
Checa Esto....
Prueba la siguiente función:
Saludos.... |
Cita:
|
En la unidad Windows.pas puedes ver una lista completa con estos códigos.
Cómo ya te indicaron a la tecla Delete le corresponde la constante VK_DELETE que su valor numérico es 46.
Estos códigos son los que se utilizan para el evento OnKeyDown y OnKeyUp si lo piensas utilizar en el evento OnKeyPress hazlo como te indica AGAG4 utiliza la función Ord().
Saludos |
Gracias por responder, pues si la tecla delete es el #46, ......... pero mejor debi haber empesado por que mis controles TEdit no borran el caracter cuando se presiona DELETE??????.
Pues despues de revisar, estoy utilizando el componente SimpleGraph y en un ActionList tengo definido un item donde borro los nodos seleccionados en el simplegraph, a este item le tengo asociado el ShortCut "Del", entonces esto me esta atrapando el borrado con la tecla delete en mis TEdits, ahora quite el ShurtCut y todo me funciona OK, Gracias a todos por responder. |
Sólo un comentario: ¿has pensado qué pasa si alguien pega texto en tu control? El portapapeles podrá contener texto con letras. ¿Qué pasa si alguien escribe 45.6...78.9? También tienes que validar que no hay más puntos. Hay controles, como el CurrencyEditor de las bibliotecas RX que se encargan de estos detalles.
// Saludos |
Gracias roman, voy a chequear esos controlores.
Salu2. |
La franja horaria es GMT +2. Ahora son las 04:19:25. |
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