Случайный выбор combobox delphi 7 - PullRequest
0 голосов
/ 17 апреля 2020

У меня есть элементы, перечисленные в моем поле со списком в delphi 7, и я ссылаюсь на них, используя их соответствующие номера индексов, и это работает хорошо. Теперь я хочу добавить функцию рандомизации выбора, при которой пользователь выбирает случайный, а затем выбирается один из элементов в выпадающем списке. Я провел некоторое исследование, но все результаты, которые я получаю, не близки к тому, что я хочу. Пожалуйста, помогите мне. Спасибо

1 Ответ

0 голосов
/ 17 апреля 2020

Вы можете использовать функцию RandomRange в блоке Math, чтобы получить случайное целое число в заданном диапазоне:

procedure TForm1.btnRandomItemClick(Sender: TObject);
begin
  ComboBox1.ItemIndex := RandomRange(0, ComboBox1.Items.Count);
end;

Обратите внимание, что RandomRange(A, B) приводит к случайному целое число в [A, B) ∩ ℤ = {A, A + 1, ..., B - 1}.

Не забудьте позвонить Randomize один раз до вам нужно использовать случайные числа. (Вы можете вызвать его во время запуска приложения.)

Обновление:

Если Math.RandomRange недоступен в Delphi 7, вы можете использовать Random(int) вместо:

procedure TForm1.btnRandomItemClick(Sender: TObject);
begin
  ComboBox1.ItemIndex := Random(ComboBox1.Items.Count);
end;

Random(B) дает целое число в [0, B) ∩ ℤ = {0, 1, ..., B - 1}.

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