CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VB >  基础类

一个算法(扫描),一个函数(DoEvents)请教~~~分数不在多,乃在于用于恰倒好处~~~~

楼主Gutta3(冯大狂)2004-11-04 10:59:31 在 VB / 基础类 提问

第一个问题是:DoEvents函数我到现在还是搞不清楚有什么作用??  
  请各位用通俗的讲法说一下,最好加上一个简单的例子来说明(好象在循环中用得特别多)  
  注意:MSDN里的帮助信息我不要,也不会给分。  
   
  第二个问题:  
  实现一个算法,通俗的讲(我很喜欢通俗得讲,大家都看得懂。)  
  有一个数组(100个元素),要实现的是在某个时间内(比如3秒种内)实现对数组中所有元素的扫描,以保持最新信息。  
  当然,数组是不需要实时检测它的值的,因为它不会改变(不去干预),事实上我要检测的是串口相连接的48台机器(不要管我是怎么连接的),我要在某个时间间隔内实现对所有机器的运行状态的扫描~(全部机器都扫描一遍,允许对某几台机器检测了好几次,但是要保证95%以上的机器都被扫描过!)。  
  通俗得讲讲扫描的方法就可以了,不用什么代码。  
   
  请教了,如果算法好,将再发新帖子给分!!  
  问题点数:40、回复次数:4Top

1 楼Gutta3(冯大狂)回复于 2004-11-04 11:04:34 得分 0

对了,第二个问题,不要用循环,这样的话就没有意义了。  
   
  还有我的3秒种是一个假设,实际情况是在某个时间间隔,譬如足够小(1s)要实现。  
   
  而且Timer()中的间隔(Interval)不小于50ms,这样算一下,1s最多只能实现20台机器,也就是  
   
  20/48*100%=41.6%   的扫描率,太低了。  
   
  当然我只是打个比喻,我的意思是说有没有比循环扫描更加实时的扫描方法,特别是在不间断的连续扫描情况下。比如说跳跃扫描,还有好象数据结构里有个散列查找什么的,大家可以说说看,谢谢了!Top

2 楼of123()回复于 2004-11-04 11:09:26 得分 10

1  
  Doevents()   的意思就是“我先歇会儿。你们有事儿先办。别让我一个人占着。”  
  Top

3 楼victorycyz(--)回复于 2004-11-04 11:17:33 得分 20

这样子提问我觉得很好。意思就是要有自己的理解才好。我可能说得不好,请多包涵。  
   
  一、   doevents就是能程序在一个比较耗时的操作中,分出一些时间片段来处理其他的请示。以免电脑看起来就死机一样。例子就免了,你也知道在循环中用得特别多。多看看别人写的代码就好。  
   
  二、你的说法好象有矛盾。前面说要对所有元素进行扫描,后面说可能有一些(<5%)不被扫描。你知道计算机语言可不是这么模糊的:)  
   
          相信你比较感兴趣的其实是后者。这种情况,一般不用数据,而是用集合进行处理。集合一般来讲速度会比较慢。它的优点就是可以快速地按字串(这里的现成的例子,就是你的机器编号或机器名)搜索,而不是象数组一样,一般要从第一个元素开始顺序搜索。  
   
  Top

4 楼of123()回复于 2004-11-04 11:20:59 得分 10

2  
  你的意思,循环会占用过多的时间?那就   Timer   +   循环,每个中断扫描   N   台终端。  
   
  >而且Timer()中的间隔(Interval)不小于50ms,这样算一下,1s最多只能实现20台机器,也就是20/48*100%=41.6%   的扫描率,太低了。  
   
  您别一个中断就扫描一台呀!  
   
  老毛病,爱用代码说话:  
  Dim   n   As   Integer  
   
  Private   Sub   Timer1_Timer()  
  Dim   i   As   integer  
          For   i   =   n   To   48   Step   8   '每次扫描   6   台  
                    '您的扫描代码  
          Next   i  
          n   =   n   +   1  
          If   n   >=   8   Then   n   =   0  
  End   Sub  
  Top

相关问题

  • 扫描算法
  • doevents()函数?
  • 扫描算法,欢迎lawrence444
  • c算法函数求救!!1
  • 急求三角函数模拟算法!
  • 谁有Quoted-Printable算法的函数
  • 求此函数的非递归算法
  • --= 随机数函数的实现算法 =--
  • 求字符串代换函数算法
  • 函数与基本的算法。(取值函数)!

关键词

  • 算法
  • 间隔
  • 代码
  • 循环
  • 扫描
  • doevents
  • 机器
  • 数组
  • 通俗
  • 实现

得分解答快速导航

  • 帖主:Gutta3
  • of123
  • victorycyz
  • of123

相关链接

  • Visual Basic类图书
  • Visual Basic类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo