Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Сети > Имя компьютера и IP-адрес


Автор: alekspv 20.4.2009, 19:55
Здравствуйте. Подскажите пожалуйста как в программе на Delphi узнать имя компьютера в сети и его IP-адрес?

Автор: Matematik 20.4.2009, 21:51
http://forum.vingrad.ru/forum/topic-256086/kw-%D0%BA%D0%B0%D0%BA-%D1%83%D0%B7%D0%BD%D0%B0%D1%82%D1%8C-%D1%81%D0%BE%D0%B1%D1%81%D1%82%D0%B2%D0%B5%D0%BD%D0%BD%D1%8B%D0%B9-%D0%B0%D0%B4%D1%80%D0%B5%D1%81.html

Автор: Vokunya 22.4.2009, 09:55
Имя компьютера по IP
Код

uses winsock;

function IPAddrToName(IPAddr : string): string;
var
  SockAddrIn: TSockAddrIn;
  HostEnt: PHostEnt;
  WSAData: TWSAData;
begin
  WSAStartup($101, WSAData);
  SockAddrIn.sin_addr.s_addr:= inet_addr(PChar(IPAddr));
  HostEnt:= gethostbyaddr(@SockAddrIn.sin_addr.S_addr, 4, AF_INET);
  if HostEnt <> nil then
    result := StrPas(Hostent^.h_name)
  else
    result:='';
end;

//Пример использования
procedure TForm1.Button1Click(Sender: TObject);
begin
  Label1.Caption := IPAddrToName(Edit1.Text);
end;


ЗЫ Что к чему даже не спрашивай код содран с DelphiWorld smile 

Автор: kami 23.4.2009, 07:42
Цитата(alekspv @  20.4.2009,  19:55 Найти цитируемый пост)
 и его IP-адрес?

У моего компьютера сейчас 5 IP адресов, все они действующие. Какой из них тебе нужен? smile
В такой ситуации, наверное, правильнее всего будет http://rouse.drkb.ru/network.php#netifenum.
Выдернуть нужную функцию оттуда легко, заодно может и несколько других вопросов отпадет smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)