- - * - WhiteUnicorn - * - -




* #WhiteUnicorn/ StartPage/ Documentation/DelphiFAQ >


Frequently Asked Questions

Getting the local internet machine name and IP address.

Question:

How do I get the local internet machine name and IP address?

Answer:

Getting the local machine name and IP address is a straight
forward process that is most easily accomplished using the TCP
component. Simply drop a TCP component from the internet page
of the component palette on to a form, and access the following
members of the TCP component:

  Memo1.Lines.Add(TCP1.LocalHostName);
  Memo1.Lines.Add(TCP1.LocalIp);

If you prefer not to use the TCP component, here is an example
that interfaces directly with your winsock layer:

uses Winsock;

procedure TForm1.FormCreate(Sender: TObject);
var
  wVersionRequested : WORD;
  wsaData : TWSAData;
begin
 {Start up WinSock}
  wVersionRequested := MAKEWORD(1, 1);
  WSAStartup(wVersionRequested, wsaData);
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  p : PHostEnt;
  s : array[0..128] of char;
  p2 : pchar;
begin
 {Get the computer name}
  GetHostName(@s, 128);
  p := GetHostByName(@s);
  Memo1.Lines.Add(p^.h_Name);
 {Get the IpAddress}
  p2 := iNet_ntoa(PInAddr(p^.h_addr_list^)^);
  Memo1.Lines.Add(p2);
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
 {Shut down WinSock}
  WSACleanup;
end;



* #WhiteUnicorn/ StartPage/ Documentation/DelphiFAQ >



- - * - Anastasija aka WhiteUnicorn - * - - LJLiveJournal
PFPhotoFile