|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
12.02.2010, 22:07 | #1 |
Пользователь
Регистрация: 12.02.2010
Сообщений: 11
|
Delphi7: функция random + timer
Здравствуйте. Не могу реализовать следующую простую програмку:
Необходимо создать генератор случайного числа, который бы через определенный интервал времени повторял бы генерацию, но уже от предыдущего случайного числа, а не от заданного. Вобщем пробую следующее: procedure TForm1.Timer1Timer(Sender: TObject); var n:integer; begin n:=100+random(5)-random(5); // 100 - это стартовое число, // от которого необходимо генрерировать // в диапозоне -5 до 5 (чтоб и в плюс и в минус могло). n:=n+(random(5)-random(5)); // пытаюсь программе сказать, // что последующие числа должна генерировать // от предыдущего случайного значения. Label1.Caption:=inttostr(n); //чтоб показать. end; end. Но она меня не понимает и начинает генерировать сново от 100. Т.е. мне нужно чтобы при запуске было с интервалами времени: 102 --> 107 --> 101 --> 97 --> 95 --> 89 -->82 и т.д. А оно в место этого: 100-->103-->101-->98-->102-->100-->101 и т.д. Вот! Я с чистой совестью заявляю, что пробовал по вскому, даже с goto, но кроме возврата к 100 или зависаний ничего добиться не могу. И я понимаю, что процедура просто с самого начала повторяется, но как это исправить не знаю. |
12.02.2010, 22:23 | #2 |
ГОСТ 2.403-75
Пользователь
Регистрация: 04.05.2009
Сообщений: 92
|
Так очевидно же, что он у тебя всегда сначала от 100 идёт, а потом от этого числа. И при повторном вызове снова от 100.
Объяви n глобально и сделай от 100 только один раз, на OnCreate формы, например.
мой скромный delphi блог
|
12.02.2010, 22:34 | #3 |
Пользователь
Регистрация: 12.02.2010
Сообщений: 11
|
'n' глобально, oncreate... - ладно это вопрос уже скорее к книжкам, спасибо большое - понял в каком направлении двигаться, будем изучать и пробовать.
|
12.02.2010, 23:28 | #4 |
Лжец и смутьян
Форумчанин
Регистрация: 03.04.2009
Сообщений: 194
|
Это, вообще-то, фундаментальные знания. Кто тебя программированию учил?))
Помогли тебе - помоги другому.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Timer... | Teleport | Общие вопросы Delphi | 13 | 14.09.2011 17:02 |
Функция "Random" в Паскале... | Вадим Буренков | Помощь студентам | 1 | 07.03.2009 17:43 |
Timer | Arhangel_bes | Помощь студентам | 2 | 27.10.2008 17:55 |
Timer... | Roof | Общие вопросы Delphi | 11 | 11.10.2007 12:57 |
одна функция потока, а другая функция - член класса запускающего этот поток | Дмитрий_Ч | Общие вопросы C/C++ | 2 | 27.09.2007 08:50 |