Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.04.11;
Скачать: CL | DM;

Вниз

Form   Найти похожие ветки 

 
P.   (2002-03-29 18:15) [0]

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


 
Alx2 ©   (2002-03-29 18:27) [1]

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


 
Alx2 ©   (2002-03-29 18:29) [2]

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


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

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

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


 
Song ©   (2002-03-30 07:42) [4]

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


 
Anatoly Podgoretsky ©   (2002-03-30 12:23) [5]

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



Страницы: 1 вся ветка

Текущий архив: 2002.04.11;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.011 c
1-32815
zje
2002-04-01 12:07
2002.04.11
Delphi6 и dfm (кодировка unicode)


4-33022
Nuhim
2002-02-07 11:36
2002.04.11
Перехват запуска программ.


1-32722
anod
2002-03-30 00:37
2002.04.11
Ошибка при создании popup меню


3-32693
Sergant
2002-03-21 12:43
2002.04.11
Отображение удаленных записей в Grid е


1-32833
DikobraZ
2002-03-28 18:13
2002.04.11
Помогите справиться с сообщением об ошибке!