朋友们在用Delphi编程序的时候,常常碰到需要在程序中获取自己的IP地址的情况。在以往的版本中,可以通过编写一段代码或函数实现这一功能。但有了Delphi 7,这个工作可以更简化了。利用控件只需一句代码,就可以非常方便地实现这一功能。
新建一Project1,在form1中添加控件statusbar1(Win32页)和控件IdIPWatch1(Indy Misc页)。接着设置好控件属性:在statusbar1的panels中添加0-TStatusPanel和1-TStatusPanel两项;IdIPWatch1的HistoryEnabled的属性设为False。
编写代码:在TForm1FormCreate(Sender: TObject)中加入以下代码:
statusbar1Panels[1]Text:=IdIPWatch1LocalIP;
OK!按下F9功能键,运行程序,看一下窗口下边状态栏中是不是已经显示了本机的IP地址了?
提示:若IdIPWatch1的HistoryEnabled的属性设为True,则会在程序退出时,自动生成一个文件(文件名为HistoryFileName属性设定的值),记录当前的IP地址
IP控件也是常用的控件之一,也是最简单的一个控件,MFC对他的封装无非就是一个字符串的处理。使用起来也相当简便。
首先拖动控件到指定的地方,用ClassWizard为其关联一个变量,我们看到变量的类型任然是一个类,IPAddressCtrl的类,下面介绍几种常用的 *** 作:
1, 将IP地址输出到Ip控件显示:只需要短短两行代码,假定要显示的IP地址是19216811,则在确定的消息相应函数添加
Cpp代码
CString a="19216811";
m_ipSetWindowText(a);
2 将IP地址输入到程序中:
Cpp代码
BYTE a1,a2,a3,a4;
m_ipGetAddress(a1,a2,a3,a4);
CString str;
strFormat("%d%d%d%d",a1,a2,a3,a4);//这里的nf得到的值是IP值了
MessageBox(str);
DWORD dwIP;
BYTE btTmp;
CString strTmpIp;
m_IpAddrGetAddress(dwIP);//从控个把获取IP地址
//下面对IP地址进行倒序如果不的话,获取的IP地址字符串就会是倒过来的顺序
//比如:如果你输入19216801话,则IP地址字符串将会是10168192
btTmp = ((BYTE )&dwIP)[0];
((BYTE )&dwIP)[0] = ((BYTE )&dwIP)[3];
((BYTE )&dwIP)[3] = btTmp;
btTmp = ((BYTE )&dwIP)[1];
((BYTE )&dwIP)[1]= ((BYTE )&dwIP)[2];
((BYTE )&dwIP)[2]= btTmp;
strTmpIp =inet_ntoa(((in_addr )&dwIP));//获取IP地址的字符串
以上就是关于Delphi 7中快速获取本机IP地址全部的内容,包括:Delphi 7中快速获取本机IP地址、在MFC中用一个函数获得IP地址后怎么把IP地址显示在IP控件上、如何获取从程序界面输入的IP地址等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)