Determinar o IP dinamico da maquina
Boa tarde...
Estou precisando de uma rotina, onde eu possa pegar o nro de IP dinamico da maquina. Pois preciso criar um arquivo txt.. contendo o nro deste ip para usá-lo.
Infelizmente no momento eu não posso usar um IP fixo, por isso necessito desta ajuda...
Muito obrigado ... a todos. pela atenção..
Sandro Avila
Estou precisando de uma rotina, onde eu possa pegar o nro de IP dinamico da maquina. Pois preciso criar um arquivo txt.. contendo o nro deste ip para usá-lo.
Infelizmente no momento eu não posso usar um IP fixo, por isso necessito desta ajuda...
Muito obrigado ... a todos. pela atenção..
Sandro Avila
Sma
Curtidas 0
Respostas
Wolverine
12/11/2004
623 - Retorna o IP de sua máquina no momento em que você está conectado
187 - Obter o endereço IP do Dial-Up
Inclua na seção uses: WinSock
{ Esta função retorna o endereço IP do Dial-Up. }
Observações
Se 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
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;
187 - Obter o endereço IP do Dial-Up
Inclua na seção uses: WinSock
{ Esta função retorna o endereço IP do Dial-Up. }
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^[I] <> nil do begin result:=StrPas(inet_ntoa(pptr^[I]^)); result := StrPas(inet_ntoa(pptr^[I]^)); Inc(I); end; WSACleanup; end;
Observações
Se 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
GOSTEI 0