Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 10-09-2010
fr3ddy fr3ddy is offline
Registrado
 
Registrado: sep 2008
Posts: 4
Poder: 0
fr3ddy Va por buen camino
Validar Telefono Edit!

Hola soy nuevo aqui!
Tengo un gran dilema, el detalle es que tengo un edit donde guardare un Número de telefono! y este edit solo debe permitir 10 o 13 Numeros, ningun otro caracter que no sea un numero!

Ademas, Si detecta que el numero comienza con 044 o 045 debe permitir 13 Digitos! En caso que el comienzo sea diferente de estos debe solo permitir 10

He buscado pero namas no doy :'(

Se me han agotado las ideas! Espero me puedan ayudar, Un millon de gracias anticipadas!
Responder Con Cita
  #2  
Antiguo 10-09-2010
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.289
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
En el OnChange, OnKeyPress/OnKeyDown puedes comprobar lo que se pulsa en cada momento y lo que se lleva pulsado en el Edit.

Si la tecla no te interesa la "sustituyes" por #0, y ahí puedes controlar también los caracteres ya ya llevas pulsados.

Aquí, aquí o aquí tienes varios códigos relacionados con lo que necesitas y de cómo utilizar los eventos.
__________________
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.
Responder Con Cita
  #3  
Antiguo 13-09-2010
fr3ddy fr3ddy is offline
Registrado
 
Registrado: sep 2008
Posts: 4
Poder: 0
fr3ddy Va por buen camino
Unhappy

SI lo he visto pero aun no me queda claro!
Hice un intento con el maskEdit pero aun tengo un problema, necesito que cuando sean Celular empieze forzozamente con 045 o 044 Pero no logro dar!

Ya trate con un Edit y nada :S Todos usan codigos de #45 o #8 y asi :S

Tendras un codigo de ejemplo :'( Ya no doy más!
Responder Con Cita
  #4  
Antiguo 14-09-2010
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Código:
void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key)
{
    if(Key < '0' || Key > '9') Key = 0;
    if(!strncmp(Edit1->Text.c_str(), "044", 3) || !strncmp(Edit1->Text.c_str(), "045", 3))
      Edit1->MaxLength = 13;
    else
      Edit1->MaxLength = 10;
}

Saludos.
Responder Con Cita
  #5  
Antiguo 14-09-2010
fr3ddy fr3ddy is offline
Registrado
 
Registrado: sep 2008
Posts: 4
Poder: 0
fr3ddy Va por buen camino
Red face

Muchas Gracias por respnder!

Me marca un error de operador :S y de types, Estoy usando Delphi 7


He tratado el maskedit y Edit :S Pero hasta ahora nada he logrado!

Mil gracias anticipadas!
Responder Con Cita
  #6  
Antiguo 14-09-2010
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 24
maeyanes Va por buen camino
Hola...

¿Si estás usando Delphi 7, por que pusiste tu duda en la sección de C++ Builder? Es por eso que te pusieron código en C++ y si solo haces copy-paste pues obvio que tendrás varios errores de sintaxis...

Checa en mi firma el link que dice: Lee la Guía de Estilo...



Saludos...
__________________
Lee la Guía de Estilo antes que cualquier cosa. - Twitter
Responder Con Cita
  #7  
Antiguo 15-09-2010
fr3ddy fr3ddy is offline
Registrado
 
Registrado: sep 2008
Posts: 4
Poder: 0
fr3ddy Va por buen camino
Muchas Gracias por responder!

Realmente soy nuevo aqui! y al momento en que puse el tema!
Busque uno que dijese Delphi pero no lo encontre

Asi que supuse que este funcionaria (Mi error) con respecto al copy-paste. Cierto he usado codigo de la web pero aun asi, he leido sobre las instrucciones y demas he declarado las variables que me pide y todo!

He logrado validar unicamente numeros mas no en el orden que lo necesito ni limitanto a que sean 10 o 13 ni mas ni menos! Opte por usar dos maskedit diferentes uno para Telefono y otro para Celular más, limite los caracteres maximos (Muy basico para uds supongo :P) pero no he localizado como el minimo :S



Nota: Podrias ayudar como colocar mi tema en el foro correcto

Gracias*N
Responder Con Cita
  #8  
Antiguo 16-09-2010
chingolo chingolo is offline
Miembro
 
Registrado: feb 2008
Posts: 12
Poder: 0
chingolo Va por buen camino
esto en tu onkeypress del edit, para que admita solo numeros
Código Delphi [-]
  if ( StrScan('0123456789',Key) <> nil ) or 
     ( Key = Char(VK_BACK) ) then { BackSpace Key }
  begin 
    {Aqui tu tratamiento normal del evento}
  end 
  else 
    Key := #0; //acordate de esto porq sino te puede generar error porq le seguis pasando el evento ojo
esto seria si es 044 o 045, pero en tu keyup porq asi el numero ya se ingreso en el edit, lo q hago es que cuando se ingresen los tres primeros caracteres recien ahi se modifique la long, tambien podes controlar la entrada forzada de caracteres si se selecciona celular
Código Delphi [-]
if (Length(edit1.text)>0 and Length(edit1.text)<4) then
if ((StrComp(PChar(Edit1.Text), PChar('044'))=0) or (StrComp(PChar(Edit1.Text), PChar('048'))=0)  then
begin
{aca cambia la longitud maxima a 13}
end;

Última edición por marcoszorrilla fecha: 16-09-2010 a las 18:44:09.
Responder Con Cita
  #9  
Antiguo 16-09-2010
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.289
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Por favor, utilizad los TAG's cuando añadáis código a los mensajes.
__________________
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.
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 numeros y letras en un Edit? danytorres Varios 12 12-11-2010 21:42:27
Filtrar teléfono con Mask Edit silver07 Conexión con bases de datos 3 08-12-2008 18:00:08
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 14:35:08.


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