![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
validar un integer cargado en un edit
Hola gente del foro, les comento que estoy realizando una aplicación en delphi7 y me surgió un problemita a la hora de validar un edit, el tema es asi yo ingreso un numero de DNI (tipo numérico) en un edit luego paso ese dato a integer y lo guardo en una tabla de esta forma: Table1.FieldByName('Dni').AsInteger:=StrToInt(Edit3.Text);
Cuando se ingresa un valor que no es numérico la aplicación se cuelga porque no es un valor valido para almacenar en la tabla, mi idea es anticiparme a la llegada del error y "desviar" el código de manera que no se cuelgue la aplicación y avisar al usuario que ese no es un valor permitido, pero no se me ocurre como? es posible lograr esto o algo parecido? gracias. |
|
#2
|
||||
|
||||
|
La más sencilla que se me ocurre es que utilices:
Si es incorrecto te guardará un 0 en lugar de fallar. Otra opción es que compruebes el contenido antes de intentar guardarlo, para avisar al usuario. Aun puedes utilizar otra similar: TryStrToInt
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi ![]() P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
|
#3
|
|||
|
|||
|
Nada mas como complemento, o no se si en versiones nuevas de delphi se pueda con el strtoint, pero en versiones hasta la 7 es StrToIntDef(Edit3.Text, 0);
|
|
#4
|
||||
|
||||
|
Hola marcos.
Existen dos modos que pueden ingresar caracteres que no son números, en forma directa y pegándolos sobre el Edit. Para evitar el ingreso usa el evento OnKeyPress del Edit: Código:
procedure TForm1.Edit3KeyPress(Sender: TObject; var Key: Char);
begin
if not (Key in [#8,#13,'0'..'9']) then
begin
Beep;
Key:= #0;
end;
end;
Código:
procedure TForm3.Edit1Exit(Sender: TObject);
var
n,cd: Integer;
begin
Val(Edit3.Text, n, cd);
if cd > 0 then
begin
ShowMessage('No es un número válido');
Edit1.SetFocus;
end;
end;
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Validar que el edit contenga 12,13 o 14 digitos | Lizette | Varios | 3 | 19-11-2008 12:07:00 |
| Guardar Integer con Db edit | elfedecafe | Conexión con bases de datos | 4 | 09-12-2007 07:10:02 |
| Validar Edit | maru1981 | OOP | 4 | 03-08-2007 01:22:15 |
| Validar Edit | Elite237 | OOP | 3 | 31-07-2007 17:34:39 |
| Validar Fecha en Edit | eljavi | Varios | 4 | 04-03-2007 03:34:33 |
|