![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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