Ver Mensaje Individual
  #2  
Antiguo 18-11-2008
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Reputación: 31
Lepe Va por buen camino
Quizás sea mejor controlar sólo los casos de error, en lugar de intentar validar los casos aceptables:
Código Delphi [-]
procedure TfrmProductoAdd.EditCveKeyPress(Sender: TObject; var Key: Char);
  var l :integer;
begin
l := Length(EditCve.Text); 
 if (Key<>Char(8)) and (Key<>Char(13) and (l >14)then
   Key:=Char(0);
 if (Key=Char(13)) then
 begin
   if (l <12) or (l>14) then  // mostrar aviso
     ShowMessage('Atención la longitud no está en el rango 12-14, longitud actual:'+ inttostr(l);
  Key:=Char(0);
  EditDes.SetFocus;
 end;
end;
Si tienes un "or l =12" siempre entrará aunque el usuario quiera añadir más números.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita