Função para retornar Logon do E-mail

Delphi

18/05/2005

Salve pessoal ...
Eu estava precisando de uma função que me retornasse o logon do email tipo entra um email: mmoreira@terra.com.br e a função me retorna apenas: mmoreira

entao eu fiz a seguinte:

function RetornaLogin( Email : string ) : string;
var
  Contador : byte;

begin

  Result := ´´;
  Contador := 1;

  while copy(Email, Contador, 1) <> ´@´ do begin

    Result := Result + copy(Email, Contador, 1);
    Contador := Contador + 1;

  end;

end;


Ela funciona muito bem mesmo, eu só gostaria de saber se teria outra maneira de fazer a mesma ... ???

valews pela atenção.


Mmoreira

Mmoreira

Curtidas 0

Respostas

Gandalf.nho

Gandalf.nho

18/05/2005

Em vez de usar o While com o Copy para determinar a posição do @, use a função Pos que lhe dará diretamente a posição.


GOSTEI 0
Mmoreira

Mmoreira

18/05/2005

obrigado pelo comentário ...


GOSTEI 0
Renatosilva

Renatosilva

18/05/2005

function RetornaLogin(Email: string ): string;
begin
    Result := Copy(Email, 1, Pos(´@´, Email));
end;



GOSTEI 0
Mmoreira

Mmoreira

18/05/2005

fala Renato
testei sua função e ele contem um pequeno problema ... ela retorna o logon seguido do @ .... A função deve retornar tudo antes do @
Na sua função se eu tento filtrar o seguiente email por exemplo mmoreira@email.com.br me é retornado: mmoreira@


GOSTEI 0
Renatosilva

Renatosilva

18/05/2005

function RetornaLogin(Email: string ): string;
begin
    Result := Copy(Email, 1, Pos(´@´, Email) - 1);
end;


Oops :oops: Corrigido!


GOSTEI 0
Mmoreira

Mmoreira

18/05/2005

blz renato ...

agora funcionou legal ...

obrigado pela atenção!!!


GOSTEI 0
POSTAR