使用Timer计时器解决由于VB中的循环导致的虚假死亡现象

电脑杂谈  发布时间:2020-07-15 17:03:30  来源:网络整理

vb编程图形用time控件定时自动增大或缩小_vb定时自动运行程序_vb定时器

学术讨论-邵琪巧妙地利用Timet计时器解决了VB中循环引起的虚假死亡现象何炜(甘肃天水职业技术学院,天水741000)[摘要]目前正在使用vB语言编程如果遇到循环次数过多或循环嵌套次数过多的循环命令,则很容易出现错误死亡甚至死机的现象,并且用户无法在循环执行期间中断它. 本文研究和讨论此问题并提供解决方案. [关键词]Ⅷ;周期;进度条;打断;计时器计时器控制CLC编号: G634.67文档标识代码: A物品编号: 1008-6609(2017)11-0082·031简介正在使用Ⅶ语言编程在此过程中,如果循环命令过多或嵌套级别不足,循环太多,很容易引起错误的死亡甚至机器死机的现象,并且用户在循环执行期间不能中断. 随着操作系统的不断改进,这种情况现在已成为“程序无响应”现象. 在循环主体中,如果添加进度条以显示命令,则根本看不到进度显示. 如果要停止,各种命令按钮将不再起作用. 随着社会的发展需求,我们对软件的要求并不简短,而是更加注重人性化的操作. 例如,有一条命令需要执行10,000次. 在执行过程中,您应该能够随时了解运行状态,并且可以随时终止或暂停. 特别是在程序执行期间,CPU应该占用尽可能少的资源,而不会影响其他软件. 工作,以便我们耐心等待复杂的程序.

vb定时自动运行程序_vb编程图形用time控件定时自动增大或缩小_vb定时器

如果程序可以根据计算机的实际配置自动调整计算机的CPU使用率,那就太好了. 经过长期的探索,我终于找到了一个更好的解决方案: 使用Timer定时器控件可以设置周期时间,然后根据自己的需要设置参数来更改周期值,我们只是利用这种独特性巧妙地解决问题. 2提出的问题在使用高级语言程序进行编程的过程中,当处理相同且规则的重复操作时,简单的方法将使用循环语句来处理. 使用一个简单的程序来说明以下内容: 例如,计算s = 1 + 2 + 3 +. . . . . . 10 n如果程序要求从1增加到100,则该程序非常简单,使用如下循环语句命令: Fori = 1至100S = S + 1NextiMsgBoxS此程序命令非常简单,即从1至100,循环重复执行“ S = S”语句100次,找到结果. 该程序也可以很容易地被初学者掌握和理解. 该程序经常被用作初学者的累积教学示例. 但是,通常存在某些差异在理论和实践之间进行比较,以FOR循环命令为例,在使用编程命令的过程中,如果遇到较大的循环命令或循环嵌套,很容易出现死机甚至崩溃的情况,并且用户在使用过程中不会中断循环执行. 进度条也与许多软件不同. 通常只显示第一步和最后一步,不显示中间过程. 例如,如果我们要计算从l到1百万或从1到10张因此,即使配置和运行速度较高的计算机,该程序的执行也将完全不同,随着计算数量的增加,计算数据将继续增加,并且当达到计算机的计算极限时,错误的死亡或崩溃现象.

vb编程图形用time控件定时自动增大或缩小_vb定时自动运行程序_vb定时器

3初步解决方案那么我们如何解决这个问题?经过我自己的多次长期探索. 终于找到了更好的解决方案,那就是使用Ⅷ中的Timer定时器控件. 我们知道,计时器计时器控制功能是在指定的时间间隔内重复触发指定窗口的计时器事件. 我们可以看到该控件的功能与loop语句的相似之处. 唯一的区别是此控件可以设置循环. 时间,因此我们仅使用此独特功能即可解决问题. 现在,我们重写以前的程序,步骤如下: (1)添加控件: (为了使程序易于所有人阅读,控件使用默认名称)Timer Timer1放入循环主体,并且最初应设置为残疾人,即作者简介: 何玮(1971年1月),男,甘肃省天水市,本科,讲师,研究方向是计算机高级语言编程,计算机图形设计和影视制作. 技术. 一个82 —万方数据的探索·经验: 启用项为False按钮Commandl'用于控制程序的“开始”,“ Continue”按钮Command2'用于控制程序的“暂停”进度条ProgressBarl'用于显示并查看程序运行进度文本框Textl,用于显示i的当前值;文本框,用于显示S的当前值. (2)添加代码: Dim i as Double,用于控制循环运行的次数,由于数据量大,定义为双精度Dim S作为Double'用于计算和值私有子表格加载(1'程序初始,定义某些控件的初始值i = 0'初始循环数S = 0 '初始总和值Timerl. Interval = 10'以毫秒为单位设置计时器的运行速度,当前为10 ms ProgressBarl. Max = 10000'定义进度条的最大值ProgressBarl. Value = 0'初始进度条的进度,当前为0EndSubPrivate Sub Commandl Click()Timerl.Enabled = True'只要让计时器工作时,循环将启动EndSubPrivate Sub Timerl计时器(1'计时器控件),将循环主体放置为i = i + 1如果count <= 10000,则S = S + iProgressBarl. 值= i'显示当前进度Textl. text = -i'显示i Text2的当前值. text = -S'显示S EIseTimerl的当前值. Enabled = False'结束循环EndIfEndSubPrivate子Command2单击(1'控制循环结束或暂停按钮Timer1. Enabled = False'计时计时器停止并且循环结束. EndSub程序执行的主要过程是仅两个按钮控制计时器的“启用”和“禁用”计时器内部的IF语句控制程序是否结束两个文本框vb定时器,一个显示i值,一个显示S值,带有进度条,以便执行程序看起来并不单调,用户可以轻松确定程序需要执行多少时间.

vb定时自动运行程序_vb定时器_vb编程图形用time控件定时自动增大或缩小

修改程序后的好处是,在当前情况下,无论如何配置低端计算机,代码都可以平稳运行,并且可以随时暂停或停止,并显示进度条真正开始显示实际进度. 但是缺点是: 显然,存在更多的命令和更复杂的命令. 如果软件中有很多循环,则命令行将增加很多倍. 而且,尽管资源消耗变小了,但是运行时间却增加了数百倍. 4优化解决方案到目前为止,程序已经解决,尽管主要问题已经解决vb定时器,但是仍然存在很多不足,我们需要进一步分析和解决: 认真而深入的分析,第一个问题,程序运行时间过长. 直接使用For循环,大循环可能会导致过多的资源消耗,从而导致崩溃. 使用Timer控件时,会浪费资源并且运行时间太长. 但是,如果我们巧妙地将这两个方法结合在一起,将可以解决问题,因此我们可以获得更好的解决方案,即将Timerl中的所有命令视为,原始程序可以表示为: Private Sub Timerl_Timer() EndSub这样,控件Timer1只执行一次,这很稳定,但是资源浪费严重,速度也很慢,因此我们可以进一步重写程序,如下所示: Private SubTimerl Timer( )fori_1至500'每次都执行500次,下一个JEndSub可以根据您的需要或计算机配置更改周期值. 这样,它们都可以使用,并且程序运行平稳且速度也不慢.

vb定时自动运行程序_vb定时器_vb编程图形用time控件定时自动增大或缩小

因此,我们很好地解决了第一个问题. 第二个问题是循环命令很多,程序变得复杂. 在改进的程序中使用了100个循环. 根据原始设计,我们需要添加100个Timer控件,以使程序变大且笨拙. 经过探索和思考,我们只需要使用选择语句来巧妙地解决问题. 该程序被重写如下: 首先定义变量K,然后通过按钮或命令控制其数据. Private Sub Timerl_Timer()'计时器控件,放置循环主体选择案例K'K是循环控制参数Case0 <循环主体1>案例1 <循环主体2>结束选择83. 万方数据学术讨论和体验看到周期增加了很多,但是命令并没有以指数方式增加,并且增加的并不多. 如果仍然觉得程序主体太长而无法编写和调试,则还可以使用该函数并按如下所示再次对其进行修改: Private Sub Timerl_Timer()'定时器控件,放置循环主体选择大小写K'K为循环控制参数情况0: 调用自定义函数ACase 1: 调用自定义函数BEnd SelectEnd Sub,以便我们很好地解决了第二个问题.

5结束语到目前为止,在探索设计之后,我们终于找到了一个更好的解决方案,即使用VB中的Timer定时器控件解决直接使用For循环的问题,该程序运行时间过长,而且很容易造成资源消耗. 大,导致崩溃. 使用Timer控件时,将浪费资源. 但是,如果我们将两者结合起来,也就是说,将Timer1中的所有命令都视为,就可以解决此问题,然后我们使用select语句Select和Function巧妙地解决了上述问题. 参考文献: [1]赵晓丽. 基于Spring的定时器的应用实现Ⅱ]. 太原师范学院学报: 自然科学版. 2015(4): 48-53. [2]任俊玉,李国文网络中的计时器技术II]计算机知识与技术: 学术交流,2011(7x): 5094-5095. [3]侯婷. -F炎VBFOR循环嵌套操作机制U]教育教学论坛,2012(9): 169-180利用计时器解决VBHEWei循环指令引起的悬浮现象(天水职业技术学院,甘肃天水741000)[摘要]在VB编程过程中,如果有太多的循环命令或太多的嵌套语句. 它很容易导致计算机崩溃,并且用户Call的进程执行不会被中断. 本文对这一问题进行了研究和讨论,并给出了解决方案. [关键字] VB;周期;进度条;打断;计时器控制(续第81页)SQL Server 2008中多表数据查询的实现杨浩宇(昆明工业职业技术学院,昆明650302)[摘要]作为操作的关键,数据查询具有始终是学习的重点,多表查询是最重要也是最难学习的点之一. 本文讨论了查询多表的三种方式的优缺点: SQL语句,视图和存储过程. [关键词1; SQL;视图;存储过程a. 84.万方数据


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/ruanjian/article-281387-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...