|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 VB6论坛 』
→ 我怎么竟遇到一些奇怪问题,print 的问题,请讲解。
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
610
人关注过本帖
标题:
我怎么竟遇到一些奇怪问题,print 的问题,请讲解。
只看楼主
加入收藏
txxb
等 级:
论坛游民
帖 子:104
专家分:59
注 册:2014-10-8
结帖率:
96%
楼主
收藏
已结贴
√
问题点数:10 回复次数:8
我怎么竟遇到一些奇怪问题,print 的问题,请讲解。
Private Sub Form_Click()
t = Timer
Print "这是第一行,5秒后显示第二行。"
Do While Timer < t + 5
Loop
Print "5秒到,第二行。"
End Sub
请问代码有问题吗?熟悉代码用的。第一行怎么不是立即显示??
2014-11-12 09:13
举报帖子
使用道具
赠送鲜花
风吹过b
等 级:
贵宾
威 望:
364
帖 子:4947
专家分:30084
注 册:2008-10-15
第
2
楼
收藏
得分:0
Private Sub Form_Click()
t = Timer
Print "这是第一行,5秒后显示第二行。"
DoEvents
'使用前面调用的慢速操作完成
Do While Timer < t + 5
Loop
Print "5秒到,第二行。"
End Sub
授人于鱼,不如授人于渔
早已停用QQ了
2014-11-12 10:31
举报帖子
使用道具
赠送鲜花
txxb
等 级:
论坛游民
帖 子:104
专家分:59
注 册:2014-10-8
第
3
楼
收藏
得分:0
它的原理是什么?不是逐条执行吗??谢谢。我想深刻的理解。
2014-11-12 10:40
举报帖子
使用道具
赠送鲜花
txxb
等 级:
论坛游民
帖 子:104
专家分:59
注 册:2014-10-8
第
4
楼
收藏
得分:0
以下是引用
风吹过b
在2014-11-12 10:31:54的发言:
Private Sub Form_Click()
t = Timer
Print "这是第一行,5秒后显示第二行。"
DoEvents
'使用前面调用的慢速操作完成
Do While Timer < t + 5
Loop
Print "5秒到,第二行。"
End Sub
图片附件: 游客没有浏览图片的权限,请
登录
或
注册
这个图上的程序,怎么没有这个现象?视频教程上截的图。
[
本帖最后由 txxb 于 2014-11-12 19:35 编辑
]
2014-11-12 11:21
举报帖子
使用道具
赠送鲜花
风吹过b
等 级:
贵宾
威 望:
364
帖 子:4947
专家分:30084
注 册:2008-10-15
第
5
楼
收藏
得分:0
这个就清楚了。也许与调用有关。
在VB里,绘图操作属慢速操作,含 输出文字,画图,贴图,让控件显示文字。
快速操作为:直接写无调用的代码,计算,循环,判断等。
我感觉慢速操作属于另一个线程,慢速操作需要等待快速操作结束后才会执行。
DoEvents
命令就是让 快速操作暂停一下,等待慢速操作完成后再继续。
授人于鱼,不如授人于渔
早已停用QQ了
2014-11-12 13:44
举报帖子
使用道具
赠送鲜花
xzlxzlxzl
来 自:湖北
等 级:
贵宾
威 望:
125
帖 子:1091
专家分:5825
注 册:2014-5-3
第
6
楼
收藏
得分:0
回复 5 楼 风吹过 b
这好像和快慢速无关吧。
应该是和多任务系统有关,得到显示效果是系统任务,你的vb在单线程下老占着系统,系统就不会处理显示结果,Doevents语句就是暂时将线程交给系统,这时系统就会处理当前排着队的任务或消息,包括显示。
2014-11-12 15:41
举报帖子
使用道具
赠送鲜花
txxb
等 级:
论坛游民
帖 子:104
专家分:59
注 册:2014-10-8
第
7
楼
收藏
得分:0
还是不太理解,什么情况下应该使用DoEvents?
2014-11-12 16:59
举报帖子
使用道具
赠送鲜花
xzlxzlxzl
来 自:湖北
等 级:
贵宾
威 望:
125
帖 子:1091
专家分:5825
注 册:2014-5-3
第
8
楼
收藏
得分:10
回复 7 楼 txxb
一般在一个大循环里需要及时得到系统的输入、输出时,需要使用doevents语句给系统处理的时间。
如果你深刻理会了windows消息处理机制你就会很容易知道什么时候你能控制cpu,什么时候又需要交给操作系统控制cpu了,也许在dos里你能很清楚你的程序执行到哪里了,但在多任务系统下你只能根据事件或消息来取得电脑的控制权,你并不能清楚某一时刻程序执行到哪里,也许大部分时间是在操作系统里循环等待消息或事件发生。
2014-11-12 20:48
举报帖子
使用道具
赠送鲜花
我可不是大神
等 级:
新手上路
帖 子:8
专家分:4
注 册:2014-11-14
第
9
楼
收藏
得分:0
撸主,求共享教程
2014-11-14 16:55
举报帖子
使用道具
赠送鲜花
9
1/1页
1
快速回复:
我怎么竟遇到一些奇怪问题,print 的问题,请讲解。
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.030545 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved