Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Form [D6, WinXP]


P. ©   (2002-03-29 18:15:00) 

Как сделать так, чтобы при нажатии кнопки, следующая(из ~20 форм) была случайной?


Anatoly Podgoretsky   (2002-03-30 12:23:00) [1]

Проще в данном случае массив


Song   (2002-03-30 07:42:00) [2]

Можно на nil не проверять, а просто поставить внутри исключения. Тогда ошибки не будет, но обращение к показыванию формы будет "холостым".


MAxiMum   (2002-03-29 19:08:00) [3]

Или используя массив форм:
var MasForms: array of TForm;

Где-то его инициализируешь, типа MasForms[0] := MainForm и т.д.
Где-то Randomize для инициализации датчика случайных чисел.
А затем, в другой процедуре просто вызываешь: MasForms[Random(FormsCount)].Show;
Всё!!!


Alx2   (2002-03-29 18:29:00) [4]

Вдогонку:
Естественно, нужно вызвать Application.FindComponent и проверить не вернул ли FindComponent Nil


Alx2   (2002-03-29 18:27:00) [5]

Если формы именуются Form1...Form20, то так:
(FindComponent(Form+IntToStr(random(20)+1)) as TForm).Show


Наверх

Титульная страница Поиск, карта сайта Написать письмо