Descobrir se esta conectado a internet e o ip da conexão?

Delphi

17/09/2006

Bom dia a todos...
Pessoal como faço para descobrir se o pc na qual minha aplicação esta rodando esta conectado a Internet e também como descobrir o ip da conexão atual , no caso de um ip dinâmico?

Grato Fausto


Faustoalves

Faustoalves

Curtidas 0

Respostas

Guialberto Soares

Guialberto Soares

17/09/2006

Veja este tópio:
´testar se a internet esta ou não conectada:´

http://www.activedelphi.com.br/modules.php?op=modload&name=XForum&file=viewthread&tid=26292#pid67962

Sobre o ip da conxexão, se for diaul-up eu tenho um exemplo, qualquer coida é só pedir


GOSTEI 0
Guialberto Soares

Guialberto Soares

17/09/2006

Olá amigo a respeito do IP da conxeão, vou colocar a baixo
OBS: só testei com conexão Dial-up:

var
Form1: TForm1;

implementation

[color=red:24732def01][b:24732def01]uses Winsock[/b:24732def01][/color:24732def01];

{$R *.dfm}

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;

procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage(´IP: ´ + GetLocalIP);
end;
end.

Espero ter ajudado ...
[]´ Guiga


GOSTEI 0
Faustoalves

Faustoalves

17/09/2006

Muito obrigado, agora vc disse que é sobre uma conexão dial up, desculpe a ignorância, mas qual seria a diferença?

Grato
Fausto


GOSTEI 0
Guialberto Soares

Guialberto Soares

17/09/2006

Quando disse Dial-up na verdade estava querendo dizer Discada.

Ou seja que eu tinha testado somente em conexão discada e não de banda larga, não que eu tenha certeza se há diferença.


GOSTEI 0
Faustoalves

Faustoalves

17/09/2006

Obrigado pela resposta..
Mas não houve diferença não a rotina esta funcionando perfeitamente..
Mais uma vez obrigado
Fausto


GOSTEI 0
M@gnun

M@gnun

17/09/2006

para obter o ip externo, basta acessar um site q forneca o ip, com o www.meuip.com.br e pegar o resultado do ip com o TIDHTTP do Indy.
Procure aqui no forum q tem um exemplo completo de como pegar ... acho q o adriano santos postou.


GOSTEI 0
POSTAR