vb6.0 定时器控件使用???

chine_yan 2008-01-11 10:58:38
最近做了个小程序,想使用vb6.0 定时器控件实现延时功能,但是程序运行时出现死机(好像定时器未发生中断),请高手帮忙指教!!

实现功能:点击按钮“开始”后,每隔一个设定的延时后,“text1”的数自动增加
源程序如下:
Dim counter As Integer
Private Sub Command1_Click()
Dim i As Integer
counter = 0
i = 0
Do While True
If i > 1000 Then
i = 0
End If
Call delay(2)
i = i + 1
Text1.Text = Str(i)
Loop
End Sub

Private Sub Form_Load()
Timer1.Enabled = False
Timer1.Interval = 100
End Sub

Private Sub Timer1_Timer()
counter = counter + 1
End Sub

Private Sub delay(time As Integer)
Dim j As Integer
Timer1.Enabled = True
Do While counter < time
Loop
Timer1.Enabled = False
End Sub
...全文
970 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
knowledge_Is_Life 2008-05-01
  • 打赏
  • 举报
回复
什么呀
chine_yan 2008-02-13
  • 打赏
  • 举报
回复
谢谢,波导终结者!搞定了!
波导终结者 2008-01-12
  • 打赏
  • 举报
回复
Do While True里没加DoEvents,当然就像死掉了。

在过程里定义Static counter as Long,而不是Dim XXX,变量就不会跟着过程重生了。
chinaren10101 2008-01-11
  • 打赏
  • 举报
回复
Dim counter As Integer
Private Sub Command1_Click()
Dim i As Integer
counter = 0
Timer1.Enabled = true
End Sub

Private Sub Form_Load()
Timer1.Enabled = False
Timer1.Interval = 100

End Sub

Private Sub Timer1_Timer()
counter = counter + 1
Text1.Text = Str(counter)
End Sub

这样行不?
  • 打赏
  • 举报
回复
这样做试一下:
Dim i As Integer
counter = 0
private sub timer1_timer()
Text1.Text = Str(i)
end sub
Private Sub Form_Load()
Timer1.Enabled = False
Timer1.Interval = 1000 '这个地方要据你的要求来设值了;

End Sub

Private Sub Command1_Click()
Timer1.Enabled = true
End Sub
Private Sub Timer1_Timer()
counter = counter + 1
Text1.Text = Str(counter)
End Sub
这样应该好了.二楼的那个在每次点开始后就会自动清空counter;
目录 前言……………………………………………………………1 课程设计任务书……………………………………………… 数据库逻辑设计……………………………………………… 软件功能设计………………………………………………… 界面设计……………………………………………………… 主程序………………………………………………………… 用户使用说明………………………………………………… 总结…………………………………………………………… 参考文献……………………………………………………… 前言 教师信息管理系统是一所院校在各种信息管理中的一部分,对于学校管理者来说是很重 要的,所以所设计的系统应该能为管理者提供教师的基本信息管理手段和一些方便的查 询方式。在过去,计算机不是很普及和计算机应用性不高的年代,人们使用人工的方法 管理各式各样的档案,这种管理方式存在着很多缺点:效率底,保密性差,会产生大量 的文件和数据,给查找,更新和维护信息都带来了相当大的困难。随着科学技术的不断 发展,计算机科学日益成熟,其强大的计算功能已经被人们深刻地认识到,计算机发挥 着越来越重要的作用。作为计算机应用的一部分,使用计算机对教师信息进行管理,具 有人工方式所无法比拟的优越性。如,查找方便,可靠性高,存储容量大,保密性好, 寿命长,成本低,维护十分方便等,这些优点能够极大得提高工作的效率,这也是学校 的科学化,现代化,正规化的一点体现。 Visual Basic简介 Visual Basic6.0支持面向对象的程序设计,但它与一般的面向对象的程序设计语言(如C++)不 完全相同,在一般的面向对象的程序设计语言中,对象由程序代码和数据组成,是抽象 的概念;而Visual Basic则是应用面向对象的程序设计方法,把程序和数据封装起来作为一个对象,并为每 一个对象赋予应有的属性,使对象成为实在的东西。在设计对象时,不必建立和描述每 个对象的程序代码,而是用工具画在界面上,Visual Basic自动生成对象的程序代码并封装起来。每一个对象以图形方式显示在界面上,都是 可视的。 对象是VB应用程序的基础构件。窗体和控件都是对象,还包括数据库、图表等,对 象具有属性和方法,并响应外部事件,开发应用程序时,先建立各种对象,在围绕对象 进行各种程序设计。属性是对象的特征,每个对象都有一组特定的属性,有些是公共的 ,有些则是对象专有的。每个属性都有一个缺省值,但该值不能满足要求,需重新设置 ,方法是VB提供的一种特殊子程序,每个方法完成某个功能,其实现的步骤和细节用户 不可见,用户只能调用它们,对象的事件是VB预先定义好的、能被对象识别的动作,事 件确定对象对外部条件的反应,事件由对象识别,再由应用程序处理。事件可由用户引 发(如单击鼠标),可由系统引发(如定时器事件),也可由代码间接引发,不同类型 的对象能识别不同的事件,常用事件有鼠标和键盘两个。 Visual Basic6.0是美国Microsoft公司推出的基本窗口的可视化程序设计语言。它继承了Basic 语言易学,易用的优点,编程系统引入了面向对象的机制和可视化设计方法,降低了开 发Windows应用程序的难度,提高了程序开发的效率。它是目前最流行的可视化编程工具 之一。Visual指的是开发图形用户界面的方法,Basic指的是Basic语言——计算机技术发 展史上应用最广泛的计算机语言。 Visual Basic6.0提供了基于部件的可视化工具以及基于部件的Web开发能力。VB6.0包括了新版 的Microsoft可视化开发工具,帮助开发人员创建基于部件的解决方案。这些工具可用于 创建基于Microsoft DNA体系的应用系统,包括提供创建交叉平台的Web应用程序,Windows的客户/服务器模 式的应用系统。VB6.0可用于快速创建基于Windows环境的客户/服务器模式应用系统,W eb应用系统和中等规模的应用系统。 Microsoft Access 简介 Microsoft Access作为一种关系型数据库管理系统,是目前最流行的桌面型数据库管理系统之一。 Access数据库是Microsoft Office中一个极为重要的组成部分,随着微软公司对Office套件不断升级,Access数据 库软件也相应完善和发展,如COM、ActiveX、XML等网络技术不断引入到Access中。Acc ess已经不是单一桌面数据库管理软件,而是综合性的数据库管理及应用集成的一体化系 统,具有功能强大、界面友好、操作简单、易学易懂等优点,是中、小型管理系统理想 的开发环境。 Access数据库提供了数据库系统所能提供的快速检索、统计报表等功能,支持SQL语 言,支持事物处理等。它以单文件形式存在,容易生成使用和管理。Acc

1,451

社区成员

发帖
与我相关
我的任务
社区描述
VB 控件
社区管理员
  • 控件
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧