Fórum Get IP... #206299
13/01/2004
0
rede?
Eu uso a Funcao GetIp,mas quando estou conectado na Net,ela me retorna p IP do servidor.
Preciso que retorne o IP local de minha maquina (192.168.20.0 etc).
Obrigado a quem me ajudar
Kroki
Curtir tópico
+ 0Posts
14/01/2004
Kroki
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
begin
Exit;
end;
pptr := PaPInAddr(Phe^.h_addr_list);
I := 0;
while pptr^[I] <> nil do
begin
result:=StrPas(inet_ntoa(pptr^[I]^));
Inc(I);
end;
WSACleanup;
end;
Gostei + 0
14/01/2004
Zumbi
// Retorna o IP de sua máquina no momento em que
// você está conectado
function GetIP:string;
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;
//
// Declare a Winsock na clausula uses da unit
//
Gostei + 0
12/07/2021
Wellington Telles
O segundo código foi copiado e tinha uma parte antes.
Gostei + 0
13/07/2021
Emerson Nascimento
function GetIP: string;
var
WSAData: TWSAData;
HostEnt: PHostEnt;
Name: PAnsiChar;
begin
WSAStartup(2, WSAData);
Name := AllocMem(255);
GetHostName(Name, 255);
HostEnt := GetHostByName(Name);
with HostEnt^ do
Result := Format('%d.%d.%d.%d',[Byte(h_addr^[0]),Byte(h_addr^[1]),Byte(h_addr^[2]),Byte(h_addr^[3])]);
WSACleanup;
end;Gostei + 0
13/07/2021
Emerson Nascimento
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)