GARANTIR DESCONTO

Fórum Determinar o IP dinamico da maquina #258264

12/11/2004

0

Boa tarde...

Estou precisando de uma rotina, onde eu possa pegar o nro de IP dinamico da maquina. Pois preciso criar um arquivo txt.. contendo o nro deste ip para usá-lo.
Infelizmente no momento eu não posso usar um IP fixo, por isso necessito desta ajuda...

Muito obrigado ... a todos. pela atenção..

Sandro Avila


Sma

Sma

Responder

Posts

13/11/2004

Wolverine

623 - Retorna o IP de sua máquina no momento em que você está conectado
function GetIP:string; 
//--> Declare a Winsock na clausula uses da unit 
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; 


187 - Obter o endereço IP do Dial-Up
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(I);
  end;
  WSACleanup;
end;

Observações

Se o endereço IP for designado pelo servidor, a cada conecção teremos um endereço IP diferente e, obviamente, se não estivermos conectados, não conseguiremos obtê-lo


Responder

Gostei + 0

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

Aceitar