0

小さなアプリを作成していて、50% の時間で関数を実行したい。したがって、exe を dbl クリックすると、半分の時間で関数が実行され、残りの半分は実行されません。とにかくこれを簡単に行う方法が見つからないようです。私が試した1つの解決策は、実行時ではなくコンパイル時の可能性を判断するようでした。前もって感謝します!

4

4 に答える 4

4

0 から 1 の間のランダムな 10 進数を生成します。0.5 より大きい場合は実行し、0.5 以下の場合は実行しません。

于 2008-10-25T05:20:07.583 に答える
4

ランダマイザーをシードすることを忘れないでください! そうしないと、毎回同じ値が常に返されます。" " を使用してシードしますRandomize Timer。例:

Private Sub Main()
    Randomize Timer
    If Rnd > 0.5 Then
        ExecuteFunction ()
    End If
End Sub
于 2008-10-25T10:19:00.943 に答える
2

例えば:

Private Sub Main()
    If Rnd > 0.5 Then
        ExecuteFunction ()
    End If
End Sub
于 2008-10-25T05:26:13.907 に答える
1

ランダムに実行したい場合は、他の人がすでにそのソリューションを提供しています。より決定論的な動作が必要な場合 (2 回ごとに正確に実行する必要がある)、実行間で状態を保存する必要があります。

状態をレジストリまたはファイル システムに保存するには、(たとえば) ファイルから整数を読み取り (ファイルが存在しない場合はゼロに設定)、1 を追加して同じファイルに書き戻します。

書き戻された数が偶数の場合は、関数を実行します。それ以外の場合は終了します。

そうすれば、実行と実行しないことを交互に行うことができます。

于 2008-10-25T06:30:29.127 に答える