如何使函数在vb6中50%的时间发生

如何使函数在vb6中50%的时间发生,vb6,random,Vb6,Random,制作一个小应用程序,我想要一个50%执行时间的函数。因此,如果我要dbl,那么函数执行的时间有一半是单击exe,而另一半则不会。我似乎找不到任何方法可以轻松做到这一点,我尝试的一个解决方案似乎决定了编译而不是运行的机会。提前谢谢 生成一个介于0和1之间的随机十进制数。如果大于0.5,则运行,如果小于或等于0.5,则不运行 例如: Private Sub Main() If Rnd > 0.5 Then ExecuteFunction () End If En

制作一个小应用程序,我想要一个50%执行时间的函数。因此,如果我要dbl,那么函数执行的时间有一半是单击exe,而另一半则不会。我似乎找不到任何方法可以轻松做到这一点,我尝试的一个解决方案似乎决定了编译而不是运行的机会。提前谢谢

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

例如:

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

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

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

如果写回的数字是偶数,则运行函数,否则退出


这样,您就可以在执行和不执行之间进行切换。

别忘了给随机化程序添加种子!否则每次都会给你相同的值。您可以使用“
随机定时器”
”对其进行种子设定,例如:


我很好奇:这种功能的业务需求是什么?蒂亚。
Private Sub Main()
    Randomize Timer
    If Rnd > 0.5 Then
        ExecuteFunction ()
    End If
End Sub