TreeView第三层是设备的名称,他们一般都会设置对应的IP地址(没有的就忽略),如右边的ListView中所示,该程序跟设备间的通讯是基于TCP/IP的,设备可以设置为TCPServer端,但是需要程序发送命令给设备才能进行连接。从设备取数据也需要发送命令才可以。现在需要实现的功能就是监视设备是否在线,在线就改变图标,当点击设备名称时右边的ListView要固定显示5条最新的数据。中间还需要将收集到的资料传给数据库,现在只需要解决前面两个问题就OK了,不知道我说清楚没有。好心人,帮帮我吧

解决方案 »

  1.   

    很简单啊,
    用另一线程在后台对ListView中的第三层(Level=2)中存放的IP地址进行轮询(Ping协议,我原来用过,具体要查一下),如果是通的,则改变ListItem的图标,至于第二个问题应该也很好解决的,不知道你有什么难处?还是讲的不够具体啊
      

  2.   

    To Wangru:
    ping不行,我用了Indy的ping控件,如果是Ping电脑的话有返回数据,但是ping要连接的设备却没有返回数据.思路我还是比较清楚,只是现在我用的是TCPClient控件,如果向设备发送命令,设备不在线时会用很久的时间,也就是说有个连接超时的时间要解决.如果设备一多,就象死掉了一样.有些问题看着比较简单,但是实际中会碰到这样那样的问题.郁闷啊
      

  3.   

    scktsrvr may be is good idea.
      

  4.   

    TO P2Programer:
    scktsrvr may be is good idea.
    对于PC来说可能可以,但是要连接的不是PC,而是宽带考勤机
      

  5.   

    to ahjoe:
    用多线程应付响应时间太长的问题。你有这方面的例子否?
      

  6.   

    用ping可以通了,再去读取数据.
      

  7.   


    我试过了用PING不行,但是在DOS下PING又能通,不知道是什么原因,我用的是INDY的IDICMPPING控件