Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-11-2011
L3st4t L3st4t is offline
Miembro
 
Registrado: feb 2008
Posts: 24
Poder: 0
L3st4t Va por buen camino
Validar Edit....

Buenas

Tengo estos 3 codigos:

Código Delphi [-]
IF (NOT(Upcase(Key) In[#8,#32,{'0'..'9'}'A'..'Z','a'..'z','Ñ','ñ'])) then
 begin
  Key:= #0;
  Application.MessageBox('El Valor a Ingresar Debe Ser Numerico','',mb_ok + mb_iconwarning);
  EditCode.Text := '';
  EditCode.SetFocus;
  Exit;
 end;

-----------------------------------------------------------------------------------------

Código Delphi [-]
IF NOT (Key in [#8, ',' ,'0'..'9']) then
 begin
  Key:= #0;
  Application.MessageBox('El Valor a Ingresar Debe Ser Numerico','',mb_ok + mb_iconwarning);
  EditCode.Text := '';
  EditCode.SetFocus;
  Exit;

--------------------------------------------------------------------------------------------

Código Delphi [-]
IF (key <#48) or (key >#57) then
 begin
 IF key<>#8 then
 begin
  Key:= #0;
  Application.MessageBox('El Valor a Ingresar Debe Ser Numerico','',mb_ok + mb_iconwarning); //mensaje
  Edit1.Text := '';
  Edit1.SetFocus;
 end;
 Exit;
 end;
end;

Estos códigos los copie del foro justamente como se interpreta en los mismo para validar un Edit, el detalle esta que no importa si ingreso un numero o una letra siempre me arroja el mismo mensaje por lo tanto la condición no se esta cumpliendo correctamente.

Si ingreso aaa me arroja el mensaje ( Y esta bien así debe ser), pero si ingreso 123, También me arroja el mensaje y no debería ser.

Me gustaría poder conseguir una respuesta concreta ya que he buscado en el foro este tema y es algo complejo en realidad.

También me gustaría que corrigieran los códigos que expuse, he leído post son el MaskEdit, (pero no se como se utiliza) si hay un método mejor al que estoy haciendo seria bueno saberlo.

Gracias por la ayuda que me puedan aportar. Saludos....

Una vez resuelto este hilo me gustaría que tuviera la coletilla de [SOLUCIONADO] porque la verdad que tengo horas buscando y normalmente son los mismos post
Responder Con Cita
  #2  
Antiguo 07-11-2011
Avatar de Enan0
Enan0 Enan0 is offline
Miembro
 
Registrado: may 2004
Ubicación: Argentina
Posts: 565
Poder: 21
Enan0 Va por buen camino
simplemente en el evento OknKey press del Edit pones este codigo

Código Delphi [-]
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  if not (key in [#8,',','.','0'..'9']) then
    key:=#0;
end;

con lo que si lo que se ingresa no es Ni un numero, Ni BackSpace o punto o coma. le asigna vacio a la variable KEY y por ende no hace nada


saludos
Responder Con Cita
  #3  
Antiguo 07-11-2011
L3st4t L3st4t is offline
Miembro
 
Registrado: feb 2008
Posts: 24
Poder: 0
L3st4t Va por buen camino
Comprendo Pero...

Gracias Enan0, pero una pregunta si lo quiero hacer desde un boton dentro de un solo procedimiento, como haría?

Saludos
Responder Con Cita
  #4  
Antiguo 07-11-2011
Avatar de Enan0
Enan0 Enan0 is offline
Miembro
 
Registrado: may 2004
Ubicación: Argentina
Posts: 565
Poder: 21
Enan0 Va por buen camino
Y mira dentro del evento OnClick deberias hacer lo siguiente

Código Delphi [-]
Function TieneLetras(s:String):boolean;
var
   Letra:boolean;
   I:Integer;
begin
   letra:=false;
  While (I<=Length(s)) and not lentra do
      letra:= s[i] in [',','.','0'..'9'];

end;
.....
if tieneLetras(edit1.text) then begin
  Showmessage('Debe ingresar solo letras');
  edit1.setfocus;
end;


Con esto deberia funcionar. no lo prove porque no estoy con delphi en este momento. pero es mas o menos esa la idea.

de todos modos yo soy participe de hacer la validacion en el momento que se van pulsando las teclas. ya que evitas que se pase algun caracter o que luego de realizar una carga de varios Edits haya que volver a corregir uno.

saludos
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
validar Edit!! ezequiel913 Varios 7 28-05-2011 04:40:32
Validar Telefono Edit! fr3ddy C++ Builder 8 16-09-2010 17:16:23
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


La franja horaria es GMT +2. Ahora son las 04:59: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
Copyright 1996-2007 Club Delphi