procedure TForm1.ButtonIPClick(Sender: TObject);
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: String;
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);
Exit;
end;
pPtr := PaPInAddr(phe^.h_addr_list);
I := 0;
while pPtr^[I] <> nil do
begin
IP := inet_ntoa(pptr^[I]^);
Inc(I);
end;
WSACleanup;
ShowMessage(IP);
finally
Screen.Cursor := crDefault;
end;
end;
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: String;
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);
Exit;
end;
pPtr := PaPInAddr(phe^.h_addr_list);
I := 0;
while pPtr^[I] <> nil do
begin
IP := inet_ntoa(pptr^[I]^);
Inc(I);
end;
WSACleanup;
ShowMessage(IP);
finally
Screen.Cursor := crDefault;
end;
end;
解决方案 »
- Treeview的click事件中,如何知道当前点击的是子结点,并且如何获取子结点的标题?
- 如何对一个TADOquery返回的动态结果集中的数字字段加入千分位
- Edit.text和网络捕获的数据内容写入数据库
- 哪位朋友能帮帮我解决?
- 求控件,EQGrid
- delphi6.0中的系统跟踪?
- WebBrowser1.Navigate('d:\mapping\zyz_para2001.htm');的问题
- 将trichedit里的字保存到sql里为什么读出来以后当初设置好的字体大小没有保存进去?
- 关于ADOQuery的一个简单问题,在线等候
- 添加保存大于1M的blob字段数据时总出现:invalid blob length 错误信息(我用的:delphi5 +sql2000),而改用ADO保存则没有任何错误
- 如何控制Delphi程序中,当子窗口超出父窗口时,不会出现ScrollBar.
- 我想知道一件事:假如一个图书管理系统开发需多长?(一个人开发,包括所需资料由自己收集)因为我想证明...
http://www.csdn.net/expert/Topic/38302.shtm