14.04.2011, 09:03
|
|
Let Me Show You
|
|
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
|
|
1:
Код:
function ip: String;
var
WSAData: TWSAData;
name: array [0..$ff] of Char;
HostEnt: PHostEnt;
begin
Result:='';
if WSAStartup(MakeWord(2, 2), WSAData)<>0 then Exit;
if gethostname(name, Length(name))=0 then
begin
HostEnt:=gethostbyname(name);
if HostEnt<>nil then Result:=inet_ntoa(PInAddr(HostEnt^.h_addr_list^)^);
end;
WSACleanup;
end;
2:
Код:
function ips: String;
type
TArrPInAddr = array [0..7] of PInAddr;
PArrPInAddr = ^TArrPInAddr;
var
WSAData: TWSAData;
name: array [0..$ff] of Char;
HostEnt: PHostEnt;
ArrPInAddr: PArrPInAddr;
i: Integer;
begin
Result:='';
if WSAStartup(MakeWord(1, 1), WSAData)<>0 then Exit;
if gethostname(name, Length(name))=0 then
begin
HostEnt:=gethostbyname(name);
if HostEnt<>nil then
begin
ArrPInAddr:=PArrPInAddr(HostEnt^.h_addr_list);
i:=0;
while ArrPInAddr^[i]<>nil do
begin
Result:=Result+StrPas(inet_ntoa(ArrPInAddr^[i]^))+';';
Inc(i);
end;
end;
end;
WSACleanup;
end;
__________________
Пишу программы за еду.
__________________
|