|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
Получить IP по имени компа
Нужно получить IP по имени компа.
Нашёл в Delphi World процедуру: Код:
uses WinSock; const WINSOCK_VERSION = $0101; function GetIPAddress(name: string): string; var WSAData: TWSAData; p: PHostEnt; begin WSAStartup(WINSOCK_VERSION, WSAData); p := GetHostByName(PChar(name)); Result := inet_ntoa(PInAddr(p.h_addr_list^)^); WSACleanup; end; А вот в этой функции всё работает нормально: Код:
function GetLocalIP: String; const WSVer = $101; var wsaData: TWSAData; P: PHostEnt; Buf: array [0..127] of Char; begin Result := ''; if WSAStartup(WSVer, wsaData) = 0 then begin if GetHostName(@Buf, 128) = 0 then begin P := GetHostByName(@Buf); if P <> nil then Result := iNet_ntoa(PInAddr(p^.h_addr_list^)^); end; WSACleanup; end; end; Если ты чего-то не знаешь, значит есть шанс научиться чему-то новому |
#2
|
|||
|
|||
Винда случаем не юникодная? Если да, то поменяй String на AnsiString.
|
Этот пользователь сказал Спасибо lmikle за это полезное сообщение: | ||
Klassenas (17.04.2012)
|
#3
|
||||
|
||||
странно, должно все работать на ура, имя хоста полностью вводишь
|
#4
|
||||
|
||||
Поменял на AnsiString, всё заработало.
Спасибо. Если ты чего-то не знаешь, значит есть шанс научиться чему-то новому Последний раз редактировалось Klassenas, 17.04.2012 в 19:28. |
#5
|
||||
|
||||
delphisources.ru попробуй это ввести
|