Retornar IP

17/04/2004

0

Boa Noite,

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

Spooner

Responder

Post mais votado

18/04/2004

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. Olá caro amigo será q poderia me passar essa função ? atenciosAmente, Izaias


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

Spooner
Responder

Mais Posts

18/04/2004

Snipa

Na paleta IndyMisc coloca o idIpwatch eh oque tem uma imagem escrita IP
Ai pra pega o da net faz assim
label1.Caption := idIPwatch1.CurrentIP;

no caso to mostrando num label :)


Responder

18/04/2004

Izaias

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.


Olá caro amigo será q poderia me passar essa função ?
atenciosAmente, Izaias


Responder

18/04/2004

Weverton

:arrow: Vc tem os componentes Indy instalados?? Se tiver, coloque a unit IdStack na sua uses e faça:

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;


Responder

18/04/2004

Spooner

Snipa,

Valew pela dica, vou testar amanha... no meu Trabalho.


Responder

18/04/2004

Spooner

:arrow: Vc tem os componentes Indy instalados?? Se tiver, coloque a unit IdStack na sua uses e faça: 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;


Obrigado pela dica, mas deu erro... :(


Responder

08/05/2021

Edi Souza

[quote:a6ff8f7cbf=´Izaias´]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.


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]


Responder

08/05/2021

Edi Souza

[quote:a6ff8f7cbf=´Izaias´]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.


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.
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar