Олег Кулабухов приводит следующий код:
Используем WinSocks API, описанные в модуле WinSocks.pas
uses WinSock; procedure GetHostInfo(var Name, Address: string); var WSAData: TWSAData; HostEnt: PHostEnt; begin { no error checking...} WSAStartup(2, WSAData); SetLength(Name, 255); Gethostname(PChar(Name), 255); SetLength(Name, StrLen(PChar(Name))); HostEnt := gethostbyname(PChar(Name)); with HostEnt^ do Address := Format('%d.%d.%d.%d',[ Byte(h_addr^[0]), Byte(h_addr^[1]), Byte(h_addr^[2]), Byte(h_addr^[3])]); WSACleanup; end; |
Кроме того, можно просто бросить TCP компонент с закладки Internet на форму и использовать его свойства.
Memo1.Lines.Add(TCP1.LocalHostName); Memo1.Lines.Add(TCP1.LocalIp); |
[001926]