难道我编的是病毒???!!!

stanely 2000-08-08 07:07:00
各位高手你们好!小弟有一事不明,请前辈们帮忙呀!
我编了一个求素数的小程序,但是我发现那竟然是病毒!!
各位不要惊讶,只是夸张了呀,嘿嘿..^^!具体情况是这样的:
我在form1 上建立了 text1 ,text2 ,list1 ,command1 ,command2.progressbar1, progressbar2.
这样想的:用户在text1和text2输入要查询素数的区间,然后点command1开始计算:
private sub command1_click()
a=val(text1.text)
b=val(text2.text)
for i = a to b
for j = 1 to i
progressbar1.max=i
progressbar1.value=j '增加视觉效果,现实对某个数的判断进程'
if int(i/j)=i/j then q=q+1 '素数只能被自己和1整除,所以这个来判断i是否能被从1到自己的每个自然数j整除.'
next j
progressbar2.max=b
progressbar2.value=i '增加视觉效果,现实对整个区间判断工作的进程.'
if q=2 then '素数只能被1和自身整除,所以如果i是素数,那末q=2'
list1.additem i '将判断好的素数i加入list1的列表里.'
q=0 '让q初始化,因为q最小是2,所以在这里初始化没错.'
end if
next i '继续判断a--b之间的每个i值'
end sub
-----------------------------------------------------------------------
private sub command2_click()
end '如果不要运行程序,可以随时停止'
end sub
-------------------------------------------------------------------------

可是问题来了!!
运行的时候command2实效了.但并不是command2.enabled=false 而是没有了相应.好像死机了一样,就是说这个程序的其他控件资源被占用了!只有command1的任务执行完以后才能执行别的时间.就连timer也会延时!但是对其他应用程序没有影响,(我当时还在听着mp3,聊着天).
这是怎莫会事呢?有没有什莫好的解决方法呢?难道是控件属性设置问题么?
感谢高人的提携:)
...全文
201 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
skt642 2001-05-31
  • 打赏
  • 举报
回复
77970关注!
Tyro 2000-08-08
  • 打赏
  • 举报
回复
这种想法太天真了,程序不会象你想象的那样运行的,只有当sub command1_click()
运行结束后,sub command2_click()才能起作用
FlyingHero 2000-08-08
  • 打赏
  • 举报
回复
在VB中,一个sub或function未执行结束时,其它sub和function是分配不到CPU时间的(多线程除外)。解决方法是在函数的执行过程中释放CPU资源,具体可在你的代码中next j前增加一行DoEvents()
PS.不要用自己发贴子的方式增加人气,太无耻。
stanely 2000-08-08
  • 打赏
  • 举报
回复
回复Flyinghero:
按你的话我加了DoEvents()以后编辑的时候问"=?"怎莫回事?
各位大侠若有妙计也请执教1,2吧!
stanely 2000-08-08
  • 打赏
  • 举报
回复
de

7,759

社区成员

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

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