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!

Deixe um comentário