Funçao Para achar o IP da maquina
28/01/2010
0
Olá Galera,
sou novo no fórum e venho tirar uma dúvida de tempos.
Um colega do Fórum antigo do DevMedia postou um belo código para funcionamento de pegar ip da máquina,
http://forum.devmedia.com.br/viewtopic.php?p=129617&sid=6251e238fcf09ae8b537fdab5a969385
mas estava testando com Delphi 2009 e não foi. Inclusive estou com Windows 7 e tudo,
mas o retorno não foi muito bem. Gostaria de saber se alguém já testou isso no Delphi 2009
ou mesmo se mudou o funcionamento para que funcione em ambos.
Agradeço a todos pela ajuda,
Obrigado,
Thiago
sou novo no fórum e venho tirar uma dúvida de tempos.
Um colega do Fórum antigo do DevMedia postou um belo código para funcionamento de pegar ip da máquina,
http://forum.devmedia.com.br/viewtopic.php?p=129617&sid=6251e238fcf09ae8b537fdab5a969385
mas estava testando com Delphi 2009 e não foi. Inclusive estou com Windows 7 e tudo,
mas o retorno não foi muito bem. Gostaria de saber se alguém já testou isso no Delphi 2009
ou mesmo se mudou o funcionamento para que funcione em ambos.
Agradeço a todos pela ajuda,
Obrigado,
Thiago
Mauro Silva
Curtir tópico
+ 0
Responder
Posts
28/01/2010
Emerson Souza
eu acho que esta função pode te ajudar.
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;
end;
WSACleanup;
end; codigo original http://www.tecnobyte.com.br/dica5.html#dica81
meu blog : www.emersonti.blogspot.com
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;
end;
WSACleanup;
end; codigo original http://www.tecnobyte.com.br/dica5.html#dica81
meu blog : www.emersonti.blogspot.com
Responder
Clique aqui para fazer login e interagir na Comunidade :)