Buscar

PEGAR O ENDEREÇO IP DA INTRANET E INTERNET

Código

(*

ALGO MUITO ÚTIL A TODOS!
UM BREVE ABRAÇO!


UM MÉTODO SIMPLES E FUNCIONAL!

ADICIONE:

*)


Uses
Winsock //pegar o ip da intranet
MSHTML  //pegar o conteúdo do webbrowser

(*

COLOQUE ESSA FUNÇÃO (ANTES DO IMPLEMETATION)

*)


function GetIPFromHost
(var HostName, IPaddr, WSAErr: string): Boolean;
type
  Name = array[0..100] of Char;
  PName = ^Name;
var
  HEnt: pHostEnt;
  HName: PName;
  WSAData: TWSAData;
  i: Integer;
begin
  Result := False;
  if WSAStartup($0101, WSAData) <> 0 then begin
    WSAErr := 'Winsock is not responding."';
    Exit;
  end;
  IPaddr := '';
  New(HName);
  if GetHostName(HName^, SizeOf(Name)) = 0 then
  begin
    HostName := StrPas(HName^);
    HEnt := GetHostByName(HName^);
    for i := 0 to HEnt^.h_length - 1 do
     IPaddr :=
      Concat(IPaddr,
      IntToStr(Ord(HEnt^.h_addr_list^[i])) + '.');
    SetLength(IPaddr, Length(IPaddr) - 1);
    Result := True;
  end
  else begin
   case WSAGetLastError of
    WSANOTINITIALISED:WSAErr:='WSANotInitialised';
    WSAENETDOWN      :WSAErr:='WSAENetDown';
    WSAEINPROGRESS   :WSAErr:='WSAEInProgress';
   end;
  end;
  Dispose(HName);
  WSACleanup;
end;



(*

1 - um WEBBROWSER (ABA INTERNET)
2 - três EDIT
3 - dois button

*)


//pegar o ip e host da intranet
//No button1 digite:
procedure TForm1.Button1Click(Sender: TObject);
var
  Host, IP, Err: string;
begin
Webbrowser1.navigate('http://www.whatismyip.com/automation/n09230945.asp')
    if GetIPFromHost(Host, IP, Err) then begin
    Edit1.Text := Host;
    Edit2.Text := IP;
  end
  else
    MessageDlg(Err, mtError, [mbOk], 0);
end;

//pegar o ip da INTERNET
//No button2 digite:
 
procedure TForm1.Button2Click(Sender: TObject);
Var
S:Variant;
begin
 S := WebBrowser1.Document;
 EDIT1.TEXT:=(S.Body.innerHTML);
end;
 

 

Publicidade

Vote na dica




Quantidade de votos: 0 votos
Aceitação: 0%


Detalhes da dica

Categoria: Rede
Adicionada dia: 08/10/09
Por: VALDEIRTON
Visualizada: 7068 vezes

Planeta Delphi - Tudo sobre programação Delphi Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009