如何在vb6中50%的时间使功能发生

时间:2008-10-25 05:17:04

标签: vb6 random

制作一个小应用程序,我想要一个函数在50%的时间内执行。因此,如果我要dbl单击exe函数执行的一半时间,而另一半则不会。我似乎无法轻易做到这一点,我试过的一个解决方案似乎决定了编译的机会而不是运行。提前谢谢!

4 个答案:

答案 0 :(得分:4)

生成0到1之间的随机十进制数。如果它大于0.5运行,如果小于或等于0.5则不运行。

答案 1 :(得分:4)

不要忘记播种随机发生器!否则每次都会给你相同的价值。你使用“Randomize Timer”播种它,例如:

Private Sub Main()
    Randomize Timer
    If Rnd > 0.5 Then
        ExecuteFunction ()
    End If
End Sub

答案 2 :(得分:2)

例如:

Private Sub Main()
    If Rnd > 0.5 Then
        ExecuteFunction ()
    End If
End Sub

答案 3 :(得分:1)

如果您希望它随机运行,其他人已经提供了该解决方案。如果你想要一个更确定的行为(它必须每隔一次运行一次),你需要在执行之间存储状态。

您可以通过(例如)尝试从文件中读取整数(如果文件不在那里将其设置为零),将状态保存在注册表或文件系统中,添加1并将其写回同一个文件。

如果回写的号码是偶数,请运行您的功能,否则退出。

这样,你将在执行和不执行之间交替。