Retornar IP
17/04/2004
0
Tenho uma Funçao que pega o IP Local da Maquina (Rede), mas eu estava querendo uma funçao que pegasse o IP que esta conectado a Internet (ADSL).
Procurei no Pesquisar Acima, mas soh encontrei funções que retorna o IP local.
Spooner
Post mais votado
18/04/2004
Aqui esta Colega,
Declare WinSock em Uses
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;
Use desta forma:
Label1.Caption := GetLocalIP;
Spooner
Mais Posts
18/04/2004
Snipa
Ai pra pega o da net faz assim
label1.Caption := idIPwatch1.CurrentIP;
no caso to mostrando num label :)
18/04/2004
Izaias
Procurei no Pesquisar Acima, mas soh encontrei funções que retorna o IP local.
Olá caro amigo será q poderia me passar essa função ?
atenciosAmente, Izaias
18/04/2004
Weverton
var stl: TStringList
begin
stl := TStringList.Create;
stl.AddStrings(GStack.LocalAddress);
// Vc vai popular a stl com todos os IP´s da sua máquina
end;
18/04/2004
Spooner
Valew pela dica, vou testar amanha... no meu Trabalho.
18/04/2004
Spooner
Obrigado pela dica, mas deu erro... :(
08/05/2021
Edi Souza
Procurei no Pesquisar Acima, mas soh encontrei funções que retorna o IP local.
Olá caro amigo será q poderia me passar essa função ?
atenciosAmente, Izaias[/quote:a6ff8f7cbf]
Aqui esta Colega,
Declare WinSock em Uses
[code:1:a6ff8f7cbf]
function GetLocalIP : string;
type
TaPInAddr = array [0..10&93; of PInAddr;
PaPInAddr = ^TaPInAddr;
var
phe : PHostEnt;
pptr : PaPInAddr;
Buffer : array &91;0..63&93; 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&93; <> nil do begin
result:=StrPas(inet_ntoa(pptr^&91;I&93;^));
result := StrPas(inet_ntoa(pptr^&91;I&93;^));
Inc(I);
end;
WSACleanup;
end;[/code:1:a6ff8f7cbf]
Use desta forma:
[code:1:a6ff8f7cbf] Label1.Caption := GetLocalIP;[/code:1:a6ff8f7cbf]
08/05/2021
Edi Souza
Procurei no Pesquisar Acima, mas soh encontrei funções que retorna o IP local.
Olá caro amigo será q poderia me passar essa função ?
atenciosAmente, Izaias[/quote:a6ff8f7cbf]
Aqui esta Colega,
Declare WinSock em Uses
[code:1:a6ff8f7cbf]
function GetLocalIP : string;
type
TaPInAddr = array [0..10&93; of PInAddr;
PaPInAddr = ^TaPInAddr;
var
phe : PHostEnt;
pptr : PaPInAddr;
Buffer : array &91;0..63&93; 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&93; <> nil do begin
result:=StrPas(inet_ntoa(pptr^&91;I&93;^));
result := StrPas(inet_ntoa(pptr^&91;I&93;^));
Inc(I);
end;
WSACleanup;
end;[/code:1:a6ff8f7cbf]
Use desta forma:
[code:1:a6ff8f7cbf] Label1.Caption := GetLocalIP;[/code:1:a6ff8f7cbf]
Perfeito, funcionou.
Clique aqui para fazer login e interagir na Comunidade :)