Home   Artículos   Recursos   Foros   
Artíclos recientes publicados en Latindevelopers:

Visual C++: NSDoubleEdit: Un control para el manejo de números decimales en Visual C++.
Visual C++: Implementando una Calculadora en Visual C++
Visual C++: CCommandLine: Una clase para el uso de la linea de comando
Visual C++: Una clase para el manejo del Registro


Validacion del Edit

Foro sobre popular lenguaje de Borland y el lenguaje pascal.

Moderador: yalmar

Validacion del Edit

Notapor nwaldir el Vie Ene 19, 2007 3:29 pm

Deseo validar un edit de tal forma que no deje perder el foco en caso de que no se haya introducido ningun dato. he intentado con el siguiente codigo:

procedure TForm.validaBlanco(Sender: TObject; var Key: Word);
begin
if ((key = VK_RETURN) or (key = VK_UP) or (key = VK_DOWN) or (key = VK_tAB))then
begin
if Length((sender as TEdit).Text) = 0 then
begin
MessageBeep(MB_ICONHAND); // HACE SONAR EL SONIDO DE ERROR;
MessageDlg('No puede dejar este campo en blanco',mterror,[mbok],0);
key:= 0;
(sender as TEdit).SetFocus;
end;
end;
end;

funciona super bien cuando es enter, uparrow, downarro, [b]NO VALIDA CUANDO SE PULSA EL TABULADOR
este procedimiento es llamado desde el evento Onkeydown del edit[/b]
nwaldir
Novato
Novato
 
Mensajes: 1
Registrado: Vie Ene 19, 2007 3:19 pm

Re: Validacion del Edit

Notapor latindeveloper el Sab Ene 20, 2007 11:28 am

La tecla TAB es utilizada por el formulari para poder navegar entre ellos,

En ese caso tienes que agregar el evento onkey, onchar, keypress o como se llame al dialogo o formulario (solo para cuando se presione TAB), no a la caja de texto, .

Otra alternativa es: cuando se presiona TAB el control automaticamente pierde el foco, entonces puedes utilizar el evento adecuado (onblur,leave, killfocus, lostfocus) no se cual es en ese lenguaje pero estoy seguro que es uno de ellos.

Saludos.
Imagen
Avatar de Usuario
latindeveloper
Administrador
Administrador
 
Mensajes: 1061
Registrado: Lun Jun 02, 2003 8:29 pm
Ubicación: Peru

Re: Validacion del Edit

Notapor yalmar el Dom Feb 18, 2007 1:33 pm

Hola,

Prueba mantener referencia a la caja de texto actual, y luego en el evento onkeyup haz tu validación con la referencia, y si falla haces

Código: Seleccionar todo
referencia.setfocus


si no falla, debes actualizar la referencia a la nueva caja de texto.

salu2.
Avatar de Usuario
yalmar
Programador
Programador
 
Mensajes: 240
Registrado: Mié Jun 09, 2004 4:13 pm
Ubicación: Brasil


Volver a Delphi

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados