有什么直接的办法利用控件得IP吗?
解决方案 »
- 求知一个文件类型~~~
- 如何调整TStringGrid网格控件各列的显示格式呢?
- 请问按shift键和按ctrl键的事件分别是什么?
- Formula One 插入图片后怎么才能让这张图片每页都显示呢?
- 如果你水平不错,请看!
- TrewView上的TreeNode怎么响应事件呀?TreeNode是动态添加的。
- TADOQuery的onposterror事件什么时间响应?我在onposterror事件中写的代码为什么不执行?
- 如何实现报表的精确控制
- 对于各机房管理系统的建议,请各CSDN族来发表议见,及给点提示!!!!走过路过不要错过!!!
- VB7 与 C#将终结Delphi
- 请大家来帮忙看看,程序发布问题。
- 怎样通过代码实现启动本机的SQLServer服务?
Indy的就没研究过这个问题http://lysoft.7u7.net
就是本机IP地址列表
IdStack.GStack.LocalAddresses.Text;
To 911,为什么可以将该IP地址显示在edit中,而无法赋值给indy.binding呢?提示不是整数。
Function Tform1.GetLocalIp(InternetIP:boolean):shortstring;
type
TaPInAddr = Array[0..10] of PInAddr;
PaPInAddr = ^TaPInAddr;
var
phe: PHostEnt;
pptr: PaPInAddr;
Buffer: Array[0..63] of Char;
I: Integer;
GInitData: TWSAData;
IP: shortstring;
begin
Screen.Cursor := crHourGlass;
try
WSAStartup($101, GInitData);
IP:='0.0.0.0';
GetHostName(Buffer, SizeOf(Buffer));
phe := GetHostByName(buffer);
if phe = nil then
begin
ShowMessage(IP);
Result:=IP;
Exit;
end;
pPtr := PaPInAddr(phe^.h_addr_list);
if InternetIP then
begin
I := 0;
while pPtr^[I] <> nil do
begin
IP := inet_ntoa(pptr^[I]^);
Inc(I);
end;
end
else
IP := inet_ntoa(pptr^[0]^);
WSACleanup;
Result:=IP;//如果上网则为上网ip否则是网卡ip
finally
Screen.Cursor := crDefault;
end;
end;