网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > DELPHI > 正文
用Delphi实现图形化批量IP检测
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/12
下载{$ArticleTitle}原创论文样式

作者:广东南海市公安局计算机安全监察股 喻凯

当要检测的IP比较少时,我们一般直接使用DOS命令Ping来实现。但是,如果我们要检测的IP比较多时(比如一个网段),再用Ping命令就比较繁琐了,即使写一个批处理来实现,大把数据看起来也让人恼火。这里,我们用Delphi实现对批量IP的检测,检测结果用明了的图形显示.

一:程序实现
在这个程序中,我们用TreeView来表示检测的IP结果;用ICS控件组的Ping控件来实现对IP的检测。
一)Ping功能的实现
为了实现Ping功能,我们在ICS的Ping控件基础上写一个函数,函数结果表示IP是否可以Ping通,如果可以,结果为True,反之,为False。函数如下:

//函数Ping
//使用了ICS的Ping控件
Function TMainForm.Ping(strip:string):Boolean;
Begin
//IP地址
ping1.address:=Trim(strip);
Ping1.ping;
//结果
if ping1.ErrorCode=0 then
begin
ping:=True;
end
Else
Begin
ping:=False;
//如果不能Ping通,i加一;
i:=i+1;
End;
End;

函数说明:
参数strip:要检测的ip;
变量i:如果不能Ping通,i加一(注意:I定义为一个全局变量);

二)控件说明
程序中使用控件的属性功能如下:


三)程序代码
主要代码部分如下:
var
MainForm: TMainForm;
//i记录不能Ping通的总数;
i:Integer;

implementation

{$R *.DFM}

Function TMainForm.Ping(strip:string):Boolean;
Begin
ping1.address:=Trim(strip);
Ping1.ping;
if ping1.ErrorCode=0 then
begin
ping:=True;
end
Else
Begin
ping:=False;
i:=i+1;
End;
End;

procedure TMainForm.Button1Click(Sender: TObject);
Var
h:Integer;
treenode1,treenode2:TTreeNode;
begin
//清空所有Item;
TreeView1.Items.Clear;

With TreeView1.Items Do
Begin
//增加根接点;
TreeNode1:=Add(nil, ''批量IP检测'');
//全部展开所有结点
TreeView1.FullExpand;
//刷新TreeView
TreeView1.Refresh;
//根结点图标
TreeNode1.ImageIndex:=0;
TreeNode1.SelectedIndex:=0;
//二级接点
For h:=StrToInt(Trim(Edit2.Text)) To StrToInt(Trim(Edit3.Text)) Do
Begin
if ping(Trim(Edit1.Text)+''.''+Trim(IntToStr(h)))=True Then
Begin
//如果可以Ping通,图标为0;
TreeNode2:=AddChild(TreeNode1,Trim(Edit1.Text)+''.''+IntToStr(h));
TreeNode2.ImageIndex:=0;
TreeNode2.SelectedIndex:=0;
//全部展开所有结点
TreeView1.FullExpand;
//刷新TreeView
TreeView1.Refresh;
End
Else
Begin
//如果不能Ping通,图标为1
TreeNode2:=AddChild(TreeNode1,Trim(Edit1.Text)+''.''+IntToStr(h));
TreeNode2.ImageIndex:=1;
TreeNode2.SelectedIndex:=1;
//全部展开所有结点
TreeView1.FullExpand;
//刷新TreeView
TreeView1.Refresh;
End;
End;
h:=h+1;
End;
Label4.Caption:=''检测结果:''+IntToStr(i)+'' 个IP不能Ping通'';
Application.MessageBox(''检测结束'',''提示'',0);
End;

二:程序说明
一) 以上程序可以实现对一个网段的检测,具体到应用,可以将要检测的IP放入数据库,同时用文字说明IP对应的机构或者计算机。检测时,直接读取数据库记录,将检测结果和数据库中的IP说明相结合,使结果直接具体到计算机名;
二) ICS控间组的Ping控件功能很强,这里只是使用了它的最基本的一个功能,具体应用中,建议更多使用Ping控件的其他属性和功能,比如检测响应时间(ReplyTime)来检测IP状态是否良好。
三) 请勿用以上程序随意实验,以免浪费网络资源;


摘自:计算机世界网

  • 上一篇资讯: Delphi 编写Windows NT服务
  • 下一篇资讯: 使系统开始按钮失效
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号