SoloCodigo
Programación General => Pascal => Mensaje iniciado por: lisandro1668 en Jueves 27 de Octubre de 2005, 16:27
-
Hola estoy necesitando ayuda necesito los codigos fuentes para hacer un programa en pascal. que sirva para validar las direcciones de correo electronico. ya sea el pseudocodigo o el codigo fuente es urguente agradezco quien me ayude es muy importante cualkier duda contactarse conmigo. desde ya muchas gracias
Lisandro.
-
En este foro no se hacen tareas.
¿Dudas puntuales?
-
arme este codigo para verificar direcciones de corre electronico me gustaria optimizarlo me pueden ayudar y kiero arreglarle si hay fallas.
el programa en consiste en validar direcciones de mail me gustaria ke me falta ke analize el dominio si es valido o no
si alguien me ayuda se lo agradeceria
Program validarmail(input, output);
var
largo,pos,z:integer;
aux, mail: string[40];
begin
clrscr;
writeln('Ingrese su e-Mail: ');
repeat
readln(aux);
largo:=length(aux);
pos:=1;
z:=0;
repeat
z:=z+1;
aux[z]:=upcase(aux[z]);
if (ord(aux[z])<65) or (ord(aux[z])>90) then
begin
if (ord(aux[z])<48) or (ord(aux[z])>57) then
begin
if (ord(aux[z])<>64) and (ord(aux[z])<>46) and (ord(aux[z])<>95) then
pos:=0;
end;
end;
until (pos=0) or (z=largo);
if pos=0 then
begin
writeln('El dato ingresado es incorrecto, ingrese otro por favor');
end;
begin
writeln('El dato se ingreso correctamente');
mail:=aux;
end;
until (pos<>0);
end.
-
Lo ví algo por arriba, y no detecté errores en su mayor medida. Básicamente te fijás que sea un caracter o un número, y que si no es así, que sea un punto o un arroba.
Pero eso no te impide el poner más de un arroba, en cuyo caso estaría mal.
Yo diría que busques el arroba.. y desde ahí recorras hacia atrás. Debés encontrar caracteres, números o puntos.
Luego hacia adelante, debés encontrar caracteres, números y AL MENOS UN punto.
Y podría extenderse en detalle, pero realmente no vale la pena.
De paso, en lugar de fijarte si ord(cadena[contador]) > xx y si ord(cadena[contador]) < yy
podrías definir un conjunto de caracteres y letras
type
validos = ['0'..'9', 'a'..'z', 'A'..'Z']
var
conjunto_validos: validos;
Y verificás con
if cadena[contador] IN conjunto_validos ...
Espero que te sirva, saludos.