簡體   English   中英

我如何使功能在vb6中50%的時間發生

[英]How do I make a function happen 50% of the time in vb6

制作一個小型應用程序,並且我希望某個函數能夠在50%的時間內執行。 因此,如果我要雙擊exe,則函數執行的時間將是一半,而另一半則不會。 無論如何,我似乎都找不到輕松實現的方法,我嘗試過的一種解決方案似乎是確定編譯的機會,而不是運行的機會。 提前致謝!

生成一個介於0和1之間的隨機十進制數。如果它大於0.5,則運行,如果小於或等於0.5,則不運行。

別忘了給隨機碼播種! 否則,每次都會給您相同的價值。 您可以使用“ Randomize Timer ”為其播種,例如:

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

例如:

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

如果您希望它隨機運行,其他人已經提供了該解決方案。 如果您想要更具確定性的行為(它必須每隔一秒鍾准確地運行一次),則需要在兩次執行之間存儲狀態。

您可以將狀態保存在注冊表中或文件系統中,方法是(例如)嘗試從文件中讀取一個整數(如果文件不存在,則將其設置為零),再加1並將其寫回到同一文件中。

如果寫回的數字是偶數,請運行函數,否則退出。

這樣,您將在執行和不執行之間切換。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM