Как сделать так, чтобы функция выполнялась в 50% случаев в vb6? - PullRequest
0 голосов
/ 25 октября 2008

Создание небольшого приложения, и я хочу, чтобы функция выполнялась в 50% случаев. Так что, если бы я нажимал на exe половину времени, когда выполнялась бы функция, а другая половина - нет. Кажется, я не могу найти способ легко сделать это, единственное решение, которое я пробовал, казалось, определяло шансы при компиляции, а не при запуске. Заранее спасибо!

Ответы [ 4 ]

4 голосов
/ 25 октября 2008

Не забудьте засадить рандомизатор! В противном случае он всегда будет давать вам одно и то же значение каждый раз. Вы засеиваете это, используя "Randomize Timer", например ::

Private Sub Main()
    Randomize Timer
    If Rnd > 0.5 Then
        ExecuteFunction ()
    End If
End Sub
4 голосов
/ 25 октября 2008

Генерирование случайного десятичного числа от 0 до 1. Если оно больше 0,5 прогона, если оно меньше или равно 0,5, не запускайте.

2 голосов
/ 25 октября 2008

Например:

Private Sub Main()
    If Rnd > 0.5 Then
        ExecuteFunction ()
    End If
End Sub
1 голос
/ 25 октября 2008

Если вы хотите, чтобы он запускался случайным образом, другие уже предоставили это решение. Если вам нужно более детерминированное поведение (оно должно выполняться точно каждый второй раз), вам необходимо сохранять состояние между выполнениями.

Вы можете сохранить состояние либо в реестре, либо в файловой системе, например, попытавшись прочитать целое число из файла (установите его равным нулю, если файла нет), добавьте 1 и запишите его обратно в тот же файл.

Если записанное число было четным, запустите вашу функцию, иначе выйдите.

Таким образом, вы будете чередовать выполнение и не выполнение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...