首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

想用delphi写一个测ping值的小应用,遇到几个小问题,帮忙看看

2012-04-09 
想用delphi写一个测ping值的小应用,遇到几个问题,帮忙看看!各位好:闲来无事,想弄个测ping值的小应用,遇到

想用delphi写一个测ping值的小应用,遇到几个问题,帮忙看看!
各位好:
  闲来无事,想弄个测ping值的小应用,遇到如下问题,希望大家有爱互助,非常感谢。
我的思路:调用cmd命令ping地址,得到的结果放到c:/pt.txt中,再读取txt提取ping值,显示在窗体上。
我的代码:

procedure TForm1.Button1Click(Sender: TObject);

var
  s:string;
begin
  s:='/k ping www.qq.com>c:/pingtest.txt';
  ShellExecute(Handle,nil, 'cmd.exe',Pchar(s),nil,SW_NORMAL);

end;

问题:
1,调用了cmd,窗体就出来了,不好,最好能隐藏掉
2,命令只执行了一次,能不能重复执行?
3,文本生成了,我想提取文本里的ping值,如何提取?

文本文件内容如下:

Pinging www.qq.com [101.226.42.62] with 32 bytes of data:

Reply from 101.226.42.62: bytes=32 time=5ms TTL=50
Reply from 101.226.42.62: bytes=32 time=5ms TTL=50
Reply from 101.226.42.62: bytes=32 time=5ms TTL=50
Reply from 101.226.42.62: bytes=32 time=5ms TTL=50

Ping statistics for 101.226.42.62:
  Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
  Minimum = 5ms, Maximum = 5ms, Average = 5ms

谢谢各位指点!快来指点啊!欢迎指指点点!

[解决办法]
你这样做不行的,ping的结果从文件里读很费代码的,因为你不知道这个文件什么时候是结束,需要轮询。

强烈建议你用idIcmpClient组件来完成。
[解决办法]
建议参考一下老外的程序EMCO Ping Monitor,主要也是实现与楼主的想法。
[解决办法]
强烈建议你用idIcmpClient组件来完成。

热点排行