Archive for 22 junio 2009

Capturar sólo números en C++ Builder

junio 22, 2009

En ocasiones necesitamos validar que en un control TEdit el usuario sólo pueda teclear números. Lo que hay que hacer es poner el siguiente código en el evento OnKeyPress de nuestro TEdit.

void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key)
{
if (!((Key >= ‘0’ && Key <= '9') || Key == '\b'))     Key = 0; } [/sourcecode] Lo que hace este código es ignorar la tecla pulsada si dicha tecla no está dentro del rango de 0 a 9 y tampoco es el backspace (retroceso). Si queremos que los números estén alineados a la derecha, el truco es no utilizar un TEdit, sino un control TMemo haciendolo del tamaño deseado y seleccionando la opción taRightJustify en la propiedad Alignment e indicando el número máximo de caracteres en la propiedad MaxLength.