Сегодня я расскажу вам, как научить программу «придумывать» числа в процессе работы. Где это может нам понадобиться? Генератор случайных чисел может использоваться в играх(например кости или больше\меньше) или для случайного имени при создание каких либо файлов. Область применения функции Random ограничивается только вашей фантазией. Картинка для статьи, выбиралась по тому же принципу!
Итак, для того чтобы получить случайное число требуется, всего лишь пару строк кода в нашей программе: Randomize и Random(Максимальное число).
Создадим программу которая будет генерировать случайное число в определенном диапазоне по нажатию по кнопке «Получить число»
Создаем форму с 2-мя TEdit и 1-й Tbutton
И напишем следующий код для кнопки: «Получить число»
procedure TForm1.Button1Click(Sender: TObject); var I1,I2,I3: integer; //1, 2 переменная это диапазон наших чисел и 3 это результат. begin I1:=StrToIntDef(Edit1.Text,0); //Переводим наши значение в числовой тип данных I2:=StrToIntDef(Edit2.Text,0); //при ошибки перевода забиваем 0-ое значение if I2=0 then begin ShowMessage('Некорректные данные значения До!'); //Вывод ошибки. Edit2.Text:='До'; Exit; //Выход из процедуры end; Randomize; //Устанавливает генератор случайного числа на следующее значение I3:=Random(I1-I2)+I2; //Создаем случайное число в диапазоне. ShowMessage(IntToStr(I3)); //Выводим результат end;
Данный код позволяет нам создать случайное число в диапазоне от минимального значения до максимального, а также если не вводить минимальное значение, то оно автоматически будет равно 0. Благодаря процедуре StrToIntDef, которое при ошибки перевода переменной из строкового значения в целое, присваивает 0. Значение по умолчанию вы можете выбрать на свое усмотрение. Ошибка может возникать если переменная не является целым числом, например если это текст.
Удачного кодинга друзья! Незабываем подписываться на мой блог, а так же задавать вопросы в комментариях если у вас возникают проблемы.
Спасибо помог
Не понял, у меня просто вiьводит значення первого числа
Трудно сообразить но в общем все понятно