以下的函数取自CSDN,但不记得是哪篇文章了
function GetLocalIpAddress : String;
var
WSADataVar: WSAData;
HostName : array[0..255] of char;
HostEntVar: PHostEnt;
InetAddr : in_addr;
begin
Result := ''; if WSAStartup(MakeWord(2, 0), WSADataVar) = 0 then
begin
if GetHostName(HostName, 256) = 0 then
Result := HostName; HostEntVar := GetHostbyName(HostName);
if not(HostEntVar = nil) then
begin
InetAddr.S_un_b.s_b1 := HostEntVar.h_addr_list^[0];
InetAddr.S_un_b.s_b2 := HostEntVar.h_addr_list^[1];
InetAddr.S_un_b.s_b3 := HostEntVar.h_addr_list^[2];
InetAddr.S_un_b.s_b4 := HostEntVar.h_addr_list^[3];
Result := Inet_NtoA(InetAddr);
end;
WSACleanUp;
end;
end;
function GetLocalIpAddress : String;
var
WSADataVar: WSAData;
HostName : array[0..255] of char;
HostEntVar: PHostEnt;
InetAddr : in_addr;
begin
Result := ''; if WSAStartup(MakeWord(2, 0), WSADataVar) = 0 then
begin
if GetHostName(HostName, 256) = 0 then
Result := HostName; HostEntVar := GetHostbyName(HostName);
if not(HostEntVar = nil) then
begin
InetAddr.S_un_b.s_b1 := HostEntVar.h_addr_list^[0];
InetAddr.S_un_b.s_b2 := HostEntVar.h_addr_list^[1];
InetAddr.S_un_b.s_b3 := HostEntVar.h_addr_list^[2];
InetAddr.S_un_b.s_b4 := HostEntVar.h_addr_list^[3];
Result := Inet_NtoA(InetAddr);
end;
WSACleanUp;
end;
end;
解决方案 »
- delphi怎样把.tlb文件编译到工程文件中
- 问一个文件操作(读写)的问题
- Delphi postmessage的问题
- 请教:DBGridEh如何在标题处点右键,弹出菜单,实现隐藏该列?
- 如果用流讀取ZIP文件中指定名稱的圖片並顯示到 TImage?
- [高手求助]谁能提供一个DELPHI与JAVA的相同加密解密源代码
- 如何取TADOConnection::Execute操作的影响记录数。
- 一个简单的 String语句如何实现!
- 我的一个 paradox话费清单数据库 Telrec.db 因死机造成索引头损坏而无法打开,央求诸位专家指点如何进行修复,这个数据库对我太重要了。1
- 使用ole將excel中的數據導入數據庫表的方法?
- 请高人指点·(非常感谢)请教mdb数据库〈即时存盘〉问题
- 字段小數點位數由4位修改為6位,對速度有何影響(本人已經開三個貼子只有一個貼子結了還是我自己搞定,希望這個貼子大家help me),大家可以從
例如:用TNMHTTP控件,
edit1.text;=nmhttp1.localip;
就得到了IP地址NM系列都有localip属性