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

Вниз

Random Как сделать?   Найти похожие ветки 

 
Inan61   (2002-10-18 22:20) [0]

На форме имеется 30 панелей, имитирующих экз.билеты. Необходимо по нажатию на кнопку пронумеровать их от 1 до 30 случайным образом. Как сделать?
Помогите, если можете. Заранее спасибо.


 
TTCustomDelphiMaster ©   (2002-10-18 22:40) [1]

http://delphi.mastak.ru/cgi-bin/forum.pl?look=1&id=1034946854&n=3


 
Inan61   (2002-10-18 23:35) [2]

А нельзя ли обойтись без массивов и флагов? Есть пример, но в нём при присвоении номеров они повторяются. Как его модернизировать?
procedure TForm1.Button1Click(Sender: TObject);
var i: Integer;
begin
Randomize;
for i:=0 to ComponentCount-1 do
begin
if (Components[i] is TPanel) then
(Components[i] as TPanel).Caption:=IntToStr(Random(29)+1);
end;
end;


 
Pat ©   (2002-10-19 00:52) [3]

>Как его модернизировать?
С помощью массивов и флагов :-))
Можно добавлять в StringList и при генерации следующего числа проверять IndexOf()


 
k   (2002-10-19 02:29) [4]

мне пришла идея (дурацкая - знаю)
только одно условие
ведь у TPanel есть св-во tag? задействуем его...
короче назначаем

//и зачем ты все компоненты перебираешь?
//чего бы массив не сделать?
const PanelCount = 30;
FPanels:array[1..PanelCount] of TPanel;
//создаешь их, размещаешь, св-ву Parent := self;

for i:=1 to PanelCount do FPanels.Tag:=i;
//пронумеровали их по порядку

теперь перетасуем их (точнее их теги)

var n1,n2:integer;
temptag:TPanel;
for i:=1 to 1000 do
begin
n1 := Random(30)+1; ан-но n2
temptag := Panels[n1].tag;
Panels[n1].tag := Panels[n2].tag;
Panels[n2].tag := TempTag;
end;

теперь номер тэга можно и в название вывести...
такова идея...



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

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

Наверх




Память: 0.47 MB
Время: 0.02 c
1-101286
Шурик Ш
2002-10-22 13:03
2002.10.31
Доступ к общим ресурсам


6-101408
Timon
2002-08-28 18:24
2002.10.31
stThreadBlocking


14-101469
Сергей Суровцев
2002-10-10 16:15
2002.10.31
Сюда, счастливчики!


1-101254
Pat
2002-10-22 00:48
2002.10.31
Динамическое создание форм


1-101243
Wolf226
2002-10-22 09:27
2002.10.31
Склонение падежей