Вниз
Скачать: CL | DM;

IP Adress   Найти похожие ветки 

← →
P.D.YU   (2004-05-08 16:42) [0]

как мне определить ип локального подключения ? код ниже возвращает инетовкий
function LocalIP: string;
type
 TaPInAddr = array[0..10] of PInAddr;
 PaPInAddr = ^TaPInAddr;
var
 phe: PHostEnt;
 pptr: PaPInAddr;
 Buffer: array[0..63] of Char;
 I: Integer;
 GInitData: TWSAData;
begin
 WSAStartup($101, GInitData);
 Result := "";
 GetHostName(Buffer, SizeOf(Buffer));
 phe := GetHostByName(buffer);
 if phe = nil then Exit;
 pPtr := PaPInAddr(phe^.h_addr_list);
 I := 0;
 while pPtr^[I] <> nil do
 begin
   Result := inet_ntoa(pptr^[I]^);
   Inc(I);
 end;
 WSACleanup;
end;


← →
Rouse_ ©   (2004-05-08 17:48) [1]

Код неверен в принципе. Почему? Можно обьяснить...
procedure TForm1.Button1Click(Sender: TObject);
var
 WSAData: TWSAData;
 p: PHostEnt;
 Name: array [0..$FF] of Char;
begin
WSAStartup($0101, WSAData);
GetHostName(name, $FF);
p := GetHostByName(Name);
while Assigned(p.h_addr_list^) do
begin
  memo1.Lines.Add(inet_ntoa(PInAddr(p.h_addr_list^)^));
  inc(p.h_addr_list);
end;
WSACleanup;
end;



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.019 c
1-1087370524
ПсихЪ
2004-06-16 11:22
2004.07.04
Как передать процедуре из DLL процедуру в качетсве параметра.


1-1087464505
Alek
2004-06-17 13:28
2004.07.04
Работа с битами


4-1085326078
solo
2004-05-23 19:27
2004.07.04
Путь в формате 8.3 в коммандной строке


1-1087373280
Игорь
2004-06-16 12:08
2004.07.04
Огромные проблемы с Огромными файлами


11-1076154241
Sewix
2004-02-07 14:44
2004.07.04
Мне нужно создать n EditBox’ов




   Наверх