Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.05.2010, 00:50   #1
Sheffdop
Новичок
Джуниор
 
Регистрация: 30.05.2010
Сообщений: 1
По умолчанию рандом по массиву TPanel

всем привет! имеется массив
Код:
var
maspanel: array [0..59] of TPanel;
у всех панелей Visible:=False. как сделать, чтобы при нажатии на кнопку рандомно одна из панелей становилась видимой? и еще бы хотелось знать как сделать, чтобы эти панели не повторялись при нажатии кнопки? подскажите, пожалуйста...
Sheffdop вне форума Ответить с цитированием
Старый 30.05.2010, 19:58   #2
Скандербег
Форумчанин
 
Регистрация: 04.04.2009
Сообщений: 438
По умолчанию

Код:
var
  Pans : set of byte;
  Cnt : Integer = 0;

procedure TForm1.Button1Click(Sender: TObject);
var
  I : Integer;
begin
  if Cnt >= 59 then Exit; //после отображении последней панели блокировка выполнения кода
  I := Random(60);  //случайный индекс очередной панели
  while I in Pans do   //если индекс уже есть в set, пытаемся найти тот, которого нет
    I := Random(60);
  Include(Pans, I);  //индекс запоминается в set
  Inc(Cnt);  //счетчик отображенных панелей

  maspanel:[I].Visible := True; 
end;
Скандербег вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Рандом Syltan JavaScript, Ajax 0 07.05.2010 01:40
autoscroll в TPanel mavlon_m Общие вопросы Delphi 1 09.10.2009 18:16
TListView и TPanel goblinyara Компоненты Delphi 3 09.01.2009 23:53
TPanel Valera Помощь студентам 10 07.08.2008 11:15
Вопрос по TPanel SeRhy Общие вопросы Delphi 3 30.12.2007 11:33