Главная страница
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.021 c
7-101534
chernoruk
2002-08-24 22:20
2002.10.31
NTddk ???????


3-101103
Nona
2002-10-07 21:12
2002.10.31
Помогите а то я уж запарился!


4-101572
Rasa
2002-09-18 04:01
2002.10.31
Как же все-таки в win98 изменить ресурсы?


1-101316
Le!
2002-10-14 08:26
2002.10.31
Надпись на кнопке.


1-101367
DN
2002-10-21 11:24
2002.10.31
Работа со StringList