Thema: Delphi Lokale IP(s) ermitteln

Einzelnen Beitrag anzeigen

CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#1

Lokale IP(s) ermitteln

  Alt 31. Jan 2003, 11:51
Es gibt verschiedene Möglichkeiten die IP eines Rechners zu ermitteln. Die beste ist wohl die über die Unit WinSock:
Delphi-Quellcode:
uses {...}, WinSock;
{...}
function LocalIP:string;
var
  WSA : TWSAData;
  ILen : integer;
  PHst : PChar;
  PHEn : PHostEnt;
begin
  WSAStartup( $0101, WSA );
  ILen := $FF;
  PHst := StrAlloc( ILen );
  gethostname( PHst, ILen );
  PHEn := gethostbyname( PHst );

  with PHEn^ do result:=format(
   '%d.%d.%d.%d',
   [ord(h_addr^[ 0 ]), ord(h_addr^[ 1 ]),
   ord(h_addr^[ 2 ]), ord(h_addr^[ 3 ])]
  );

  {Nuke the string}
  StrDispose( PHst );

  {Dust and Clean}
  WSACleanup;

end;
Chris

[edit=Chakotay1308]Den Titel angepasst. Mfg, Chakotay1308[/edit]
  Mit Zitat antworten Zitat