Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

delphi 7 random при нажатие на кнопку иногда не выводит значения

bsmrr Профи (921), закрыт 6 лет назад
random при нажатие на кнопку иногда не выводит значения, приходиться несколько раз нажимать что бы что то произошло
Дополнен 6 лет назад
procedure TForm2.btn2Click(Sender: TObject);
var
x, y:integer;
begin
Randomize;
x :=RandomRange(1,10);
y :=RandomRange(1,10);

if rb1.Checked=True then
case e of
0:
begin
Form2.lbl1.Caption:=inttostr(x)+chr(43)+inttostr(y);
Form2.lbl3.Caption:=inttostr(x+y);
end;
1:
begin;
Form2.lbl1.Caption:=inttostr(x)+chr(45)+inttostr(y);
Form2.lbl3.Caption:=inttostr(x-y);
end;
end;
примерно так выглядит код
Лучший ответ
Аглая Шниц Искусственный Интеллект (147939) 6 лет назад
есть подозрение, что надо Randomize; убрать куда-нибудь в конструктор формы, чтобы вызывался лишь один раз.
ну и учесть, что датчик сл. чисел может генерировать повторяющиеся значения. правда, в данном случае пары x, y могут повторяться с вероятностью 1/100, но всё-таки это не ноль.
Остальные ответы
Президент интернета Оракул (61338) 6 лет назад
Какой код в клике кнопки?
bsmrrПрофи (921) 6 лет назад
procedure TForm2.btn2Click(Sender: TObject);
var
x, y:integer;
begin
Randomize;
x :=RandomRange(1,10);
y :=RandomRange(1,10);

if rb1.Checked=True then
case e of
0:
begin
Form2.lbl1.Caption:=inttostr(x)+chr(43)+inttostr(y);
Form2.lbl3.Caption:=inttostr(x+y);
end;
1:
begin;
Form2.lbl1.Caption:=inttostr(x)+chr(45)+inttostr(y);
Form2.lbl3.Caption:=inttostr(x-y);
end;
end;
примерно так
пропущено присвоение значения переменной после строки "y :=RandomRange(1,10);" вставить строку e :=Random(2);
Похожие вопросы