Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.11;
Скачать: [xml.tar.bz2];




Вниз

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]

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




Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.11;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.027 c
3-32694           Serg___               2002-03-21 10:46  2002.04.11  
ADO vs BDE


14-32973          limon                 2002-03-05 11:19  2002.04.11  
Создание экземпляра класса по имени (ClassRef)


1-32775           Andron                2002-03-31 13:49  2002.04.11  
Как присвоить канву TChart а канве TBitmap a ?


1-32753           lipskiy               2002-03-30 17:36  2002.04.11  
TWebBrowser_V1: че-то никак не создать в ран-тайме... Помогите, п


4-33012           kasper                2002-02-11 22:20  2002.04.11  
подскажите как удалять каталоги самые ранние по времени создания