jeancainelli Postado Outubro 27, 2004 Denunciar Share Postado Outubro 27, 2004 Prezados amigos... Gostaria de saber como faço para armazenar o endereço IP do um computador em uma variável???? Obrigado pela atenção. :-) Link para o comentário Compartilhar em outros sites More sharing options...
0 Vivendo&Aprendendo Postado Outubro 27, 2004 Denunciar Share Postado Outubro 27, 2004 function GetLocalIP : string;type TaPInAddr = array [0..10] of PInAddr; PaPInAddr = ^TaPInAddr;var phe : PHostEnt; pptr : PaPInAddr; Buffer : array [0..63] of char; I : Integer; GInitData : TWSADATA;begin WSAStartup($101, GInitData); Result := ''; GetHostName(Buffer, SizeOf(Buffer)); phe :=GetHostByName(buffer); if phe = nil then Exit; pptr := PaPInAddr(Phe^.h_addr_list); I := 0; while pptr^ <> nil do begin result:=StrPas(inet_ntoa(pptr^^)); result := StrPas(inet_ntoa(pptr^^)); Inc(I); end; WSACleanup;end;ObservaçõesSe o endereço IP for designado pelo servidor, a cada conecção teremos um endereço IP diferente e, obviamente, se não estivermos conectados, não conseguiremos obtê-lo.Esse código obtem o IP da máquina na net.E esse o ip do seu computador na rede:implementation uses Winsock; {$R *.DFM} procedure TForm1.FormCreate(Sender: TObject);var wVersionRequested : WORD; wsaData : TWSAData;begin wVersionRequested := MAKEWORD(1, 1); WSAStartup(wVersionRequested, wsaData);end; procedure TForm1.FormDestroy(Sender: TObject);begin WSACleanup;end; procedure TForm1.BtnIPClick(Sender: TObject);var p : PHostEnt; s : array[0..128] of char; p2 : pchar;begin GetHostName(@s, 128); p := GetHostByName(@s); Memo1.Lines.Add(p^.h_Name); p2 := iNet_ntoa(PInAddr(p^.h_addr_list^)^); Memo1.Lines.Add(p2);end; end. Link para o comentário Compartilhar em outros sites More sharing options...
0 Vivendo&Aprendendo Postado Outubro 27, 2004 Denunciar Share Postado Outubro 27, 2004 cara tem esse tb:function GetIP:string; //--> Declare a Winsock na clausula uses da unit var WSAData: TWSAData; HostEnt: PHostEnt; Name:string; begin WSAStartup(2, WSAData); SetLength(Name, 255); Gethostname(PChar(Name), 255); SetLength(Name, StrLen(PChar(Name))); HostEnt := gethostbyname(PChar(Name)); with HostEnt^ do begin Result := Format('%d.%d.%d.%d', [byte(h_addr^[0]),Byte(h_addr^[1]), Byte(h_addr^[2]),Byte(h_addr^[3])]); end; WSACleanup; end;falou Link para o comentário Compartilhar em outros sites More sharing options...
0 jeancainelli Postado Outubro 28, 2004 Autor Denunciar Share Postado Outubro 28, 2004 Como você mesmo diz é ...... "Vivendo&Aprendendo"Valeu a dica, usei aquele da implementation...ATE + Link para o comentário Compartilhar em outros sites More sharing options...
0 Vivendo&Aprendendo Postado Outubro 28, 2004 Denunciar Share Postado Outubro 28, 2004 falou cara qualquer duvida posta aiAlexandre - Vivendo&Aprendendo Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
jeancainelli
Prezados amigos...
Gostaria de saber como faço para armazenar o endereço IP do um computador em uma variável????
Obrigado pela atenção. :-)
Link para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados