Ir para conteúdo
Fórum Script Brasil
  • 0

Como Obter O Endereço Ip? (RESOLVIDO)


jeancainelli

Pergunta

4 respostass a esta questão

Posts Recomendados

  • 0

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^ <> nil do begin

result:=StrPas(inet_ntoa(pptr^^));

result := StrPas(inet_ntoa(pptr^^));

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.

Esse código obtem o IP da máquina na net.

E esse o ip do seu computador na rede:

implementation

uses Winsock;

{$R *.DFM}

procedure TForm1.FormCreate(Sender: TObject);

var

wVersionRequested : WORD;

wsaData : TWSAData;

begin

wVersionRequested := MAKEWORD(1, 1);

WSAStartup(wVersionRequested, wsaData);

end;

procedure TForm1.FormDestroy(Sender: TObject);

begin

WSACleanup;

end;

procedure TForm1.BtnIPClick(Sender: TObject);

var

p : PHostEnt;

s : array[0..128] of char;

p2 : pchar;

begin

GetHostName(@s, 128);

p := GetHostByName(@s);

Memo1.Lines.Add(p^.h_Name);

p2 := iNet_ntoa(PInAddr(p^.h_addr_list^)^);

Memo1.Lines.Add(p2);

end;

end.

Link para o comentário
Compartilhar em outros sites

  • 0

cara tem esse tb:

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;

falou

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...