Visualizando o Próprio IP pelo Delphi

O crédito pela dica vai para o usuário Alisson, integrante da lista Delphi/BR (http://br.groups.yahoo.com/group/delphi-br), de onde recebi a dica abaixo por e-mail:

O problema: Alguem sabe algum código que me mostre qual é o IP da minha conexão com a internet atraves do Delphi?

A solução: Use um componente TIdHTTP pra implementar a função abaixo:

procedure VerificarIPExterno;
  var sAux, sIP : String;
  i : Integer;
begin
  try
    // Coloque o endereço de algum site que forneça o
    // número de IP e atribui para 'sAux'
    sAux := TIdHTTP1.Get( 'Endereço do site');

    i := Pos('201.', sAux);

    if (i = 0) then i := Pos('200.', sAux);
    if (i = 0) then i := Pos('189.', sAux);

    sAux := Copy(sAux, i, 15);

    sIP := '';
    for i := 1 to Length(sAux) do
      if (sAux[i] in ['0'..'9']) or
        (sAux[i] = '.') then
        sIP := sIP + sAux[i];

    ShowMessage( 'Meu IP é : ' + sIP);
  except
  on E : Exception do
    ShowMessage( 'Não foi possível obter o IP!' +
    #13 + E.Message);
  end;
end;

O que acharam? Existem melhorias? Foi útil? Comente!

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s


%d blogueiros gostam disto: