How to get the local IP address in Delphi
uses WinSock; function LocalIP: String; type TaPInAddr = Array [0..10] of PInAddr; PaPInAddr = ^ TaPInAddr; var phe: PHostEnt; pptr: PaPInAddr; Buffer: Array [0..63] of AnsiChar; 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: = inet_ntoa (pptr ^ [i] ^); Inc (i); end ; WSACleanup; end ; //test: procedure TForm1.Button1Click (Sender: TObject); begin ShowMessage (LocalIP); // end ;