本文整理自网络,侵删。
function GetLocalIP: 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:=StrPas(inet_ntoa(pptr^[I]^));
Inc(I);
end;
WSACleanup;
end;
//别忘记声明winsock,不然会报错的。即在uses 中加入 winsock 单元。 相关阅读 >>
dbgrid的cellclick事件,单击当前行记录的那一行时,不发生
Delphi执行sql提示“不正常地定义参数对象”,“提供了不一致或不完整的信息”错误
更多相关阅读请进入《Delphi》频道 >>