Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Internet
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Colaboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 26-03-2008
jefferson jefferson is offline
Miembro
 
Registrado: dic 2007
Posts: 20
Poder: 0
jefferson Va por buen camino
Talking gracias

hola pana (a).
pues gracias amigo esta forma de buscar el arroba dentro del correo esta mas entendible que la de mi profesor. y pues como es para trabajar en unidades apartes declarando clases y funciones. ya sabes son bastantes condiciones para validar un correo electronico. le seguire metiendo cosas.
buena contribusion bye.
Responder Con Cita
  #2  
Antiguo 26-03-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 27
Delphius Va camino a la fama
Hola!
Inspirado en el código de Egostar realize una función que tiene un poco más de control:

Código Delphi [-]
function ValidateEMail(EMail: string): boolean;
var PosA, PosP
begin
  PosA := Pos('@',EMail);
  PosP := Pos('.',EMail);
  result := (PosP > PosA) and (PosA <> 0)
end;

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #3  
Antiguo 26-03-2008
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.941
Poder: 27
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
No hombre, ese codigo permitiria:

@.com!!!!

La forma correcta requiere hacer como minimo, un barrido.
__________________
El malabarista.
Responder Con Cita
  #4  
Antiguo 26-03-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 27
Delphius Va camino a la fama
Cita:
Empezado por mamcx Ver Mensaje
No hombre, ese codigo permitiria:

@.com!!!!

La forma correcta requiere hacer como minimo, un barrido.
Mamx, estamos tratando de darle una idea, más que darle la solución de una. Invitamos a pensar y razonar a jefferson.

Además, por algo dije:

Cita:
que tiene un poco más de control
Pero con respecto a la idea de Egostar, que su código no tiene en cuenta la posición del punto respecto al arroba.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #5  
Antiguo 27-03-2008
keyboy keyboy is offline
Miembro
 
Registrado: oct 2004
Posts: 367
Poder: 22
keyboy Va por buen camino
A ver que les parece esta otra aproximación

Código Delphi [-]
function ValidEMail(EMail: String): Boolean;
var
  Parts: TStrings;
  Usuario, Servidor: String;
  I: Integer;

begin
  // Seamos pesimistas
  Result := false;

  // Quitamos espacios a los lados, que si bien son incorrectos, no estorban
  EMail := Trim(EMail);

  // Pero no permitamos espacios intermedios
  if Pos(' ', EMail) <> 0 then
    exit;

  Parts := TStringList.Create;

  try
    // Partamos la cadena tomando la @ como delimitador
    Parts.Delimiter := '@';
    Parts.DelimitedText := EMail;

    // Debe haber dos y sólo dos partes...
    if Parts.Count <> 2 then
      exit;

    Usuario := Parts[0];
    Servidor := Parts[1];

    // ...y ninguna puede estar vacía
    if (Usuario = '') or (Servidor = '') then
      exit;

    // Ahora separemos la parte servidor tomando el . como delimitador
    Parts.Delimiter := '.';
    Parts.DelimitedText := Servidor;

    // Debe haber al menos dos partes...
    if Parts.Count < 2 then
      exit;

    // ...pero ninguna vacía
    for I := 0 to Pred(Parts.Count) do
      if Parts[i] = '' then
        exit;

    Result := true;
  finally
    Parts.Free;
  end;
end;

Como digo, es sólo una aproximación así que no pretende hacer más que esto:

1. Determinar que existe una y sólo una @
2. Que hay algo antes (usuario) y después (servidor) de esa @
3. Que después de la @ hay por lo menos dos partes separadas por puntos
4. Que ninguna de esas partes está vacía.

Esto es, se permiten cosas como

[email protected]

pero no

usuario@servidor
@servidor.com
usuario@@servidor.com
[email protected]
etc.

No valido el punto en la parte de usuario porque, al menos yo, tengo direcciones de correo de la forma

[email protected]

Bye

Última edición por keyboy fecha: 27-03-2008 a las 02:57:30.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Ejercicio con Posiciones de dígitos gerupc Varios 19 18-08-2007 18:59:40
Problema con ejercicio en Delphi gerupc Varios 5 11-08-2007 21:39:28
ayuda con un ejercicio por favor! Albert0 JAVA 1 19-06-2007 18:29:00
Ejercicio Solarintg Varios 1 02-12-2006 15:48:07
Cómo repercute el ejercicio en el trabajo Al González Debates 11 15-03-2005 12:35:22


La franja horaria es GMT +2. Ahora son las 19:03:29.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi