Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 08-01-2009
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.070
Poder: 32
jhonny Va camino a la famajhonny Va camino a la fama
Cita:
Empezado por roman Ver Mensaje
Esta es una muy buena idea, aunque creo que no hay que descartar la validación gramatical.

Ya anteriormente se ha discutido esto, por ejemplo, en el hilo Como Saber si una Dirección de Correo es Válida????. En esa ocasión se planteó el uso de expresiones regulares y se habló de RegExp Studio, que me parece un buen enfoque.

Usar TRegExpr es cosa sólo de incluir una unidad en el proyecto así que no necesitamos instalar nada ni insertar componentes ni depender de dlls externas.

En el hilo mencionado se propone una expresión regular

Código:
[\w\d\-\.]+@[\w\d\-]+(\.[\w\d\-]+)+
que- según creo -puede reducirse a:

Código:
[\w\-\.]+@[\w\-]+(\.[\w\-]+)+
aunque no me queda claro que los guiones estén permitidos en un email y permitiría un punto inicial que no creo que sea válido.

Haciendo algunas pruebas, me ha gustado esta:

Código:
^\w+(\.\w+)*@(\w+(\.\w+)+)$
que podría completarse a

Código:
^[\w\-]+(\.[\w\-]+)*@([\w\-]+(\.[\w\-]+)+)$
si permitimos guiones.

Aplicando a nuestro caso, podemos implementar esta función:

Código Delphi [-]uses RegExpr; function EsEmailValido(Email: String; Ping: Boolean = false); var RegExp: TRegExpr; begin RegExp := TRegExp.Create; try RegExp.Expression := '^\w+(\.\w+)*@(\w+(\.\w+)+)$'; Result := RegExp.Exec(Email); if Result and Ping then Result := GetIP(RegExp.Match[2]) <> ''; finally RegExp.Free; end; end;


El parámetro Ping sería para indicar si deseamos verificar la existencia del servidor.

// Saludos
Hola roman, hoy me ha causado curiosidad un asunto, ¿Estas son expresiones propias del TRegExpr o es algun estandar que hay?
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #2  
Antiguo 08-01-2009
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
¡Válgame!

Lo malo de las expresiones regulares, es que, pasados uns meses (o años), uno no tiene ni idea de cómo fue capaz de escribir tal serie de majaderías

En fin; aunque creo que hay variantes, las expresiones regulares más o menos son un estándar que, si no me equivoco, se basan en las que usa PERL.

// Saludos
Responder Con Cita
  #3  
Antiguo 08-01-2009
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.070
Poder: 32
jhonny Va camino a la famajhonny Va camino a la fama
Cita:
Empezado por roman Ver Mensaje
¡Válgame!

Lo malo de las expresiones regulares, es que, pasados uns meses (o años), uno no tiene ni idea de cómo fue capaz de escribir tal serie de majaderías

En fin; aunque creo que hay variantes, las expresiones regulares más o menos son un estándar que, si no me equivoco, se basan en las que usa PERL.
Jejeje, Bueno, muchas gracias por tu respuesta roman .
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #4  
Antiguo 08-01-2009
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Aquí hay bastante información. Entre otras cosas dice:

Cita:
Perl: es el lenguaje que hizo crecer a las expresiones regulares en el ámbito de la programación hasta llegar a lo que son hoy en día.
Ojalá Delphi incorporase de fábrica las expresiones regulares, o ¿ya lo hace?

// Saludos

// Saludos
Responder Con Cita
  #5  
Antiguo 08-01-2009
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.070
Poder: 32
jhonny Va camino a la famajhonny Va camino a la fama
Cita:
Empezado por roman Ver Mensaje
Ojalá Delphi incorporase de fábrica las expresiones regulares, o ¿ya lo hace?
El otro día estuve buscando el asunto en la ayuda de Delphi 2007 y en la de Delphi 2009, precisamente basado en un hilo en el que participaron Al y vos, pero desafortunadamente no encontré dicho material.
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #6  
Antiguo 08-01-2009
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.070
Poder: 32
jhonny Va camino a la famajhonny Va camino a la fama
Una libreria que he notado que buscan mucho por ahí, es la llamada TPerlRegEx http://www.regular-expressions.info/delphi.html nunca la he usado, pero como ya te he dicho he notado que la buscan bastante. El ejemplos para Email que esta en esa web es mas largo que los que propones, pero aca te va '\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b'
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
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
Validar un Dbedit? kman Varios 10 13-03-2007 04:07:11
Validar y Autocompletar Fecha en un DBEdit gluglu OOP 4 29-12-2006 11:24:06
Validar un DBEdit con delphi interbase servicomp Conexión con bases de datos 8 06-08-2006 16:27:11
validar dbedit yeison Cristman Conexión con bases de datos 1 29-07-2006 21:55:56
como validar datos en el evento onkeypress de un dbedit? viajero2015 Varios 1 01-02-2004 21:41:59


La franja horaria es GMT +2. Ahora son las 09:33:38.


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