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

Вниз

Кнопки в циклах   Найти похожие ветки 

 
Scorpi   (2003-01-09 07:26) [0]

Мужики, помогите!!!
Как мне осуществить обращение к свойствам одинаковых компонентов через цикл???
Чтобы не писать каждый раз вот так
Button1.Enabled:=false;
.....
.....
Batton5.Enabled:=false;
Но только это сделать с первыми 5 из 9
И не через CopmponentIndex.

Типа вот так

For i:=1 to 10 do
Button[i].enabled:=false;


 
Думкин   (2003-01-09 07:54) [1]

Ну так сделай массив кнопок - и вперед.


 
semmi   (2003-01-09 09:21) [2]

Как сделать массив кнопок


 
stone ©   (2003-01-09 09:31) [3]

Только вчера был ответ на этот вопрос с примером


 
Separator ©   (2003-01-09 09:33) [4]

type
TButtonsArray = array of TButton;

const
CountButtons = 5;

var
ButtonsArray: TButtonsArray;
i: integer;

begin
SetLength(ButtonsArray, CountButtons);
for i:= Low(ButtonArray) to High(ButtonsArray) do
begin
ButtonsArray[i]:= TButtonsArray.Create(nil);
with ButtonsArray[i] do
begin
Parent:= frmMain;
Width:= 30;
Height:= 30;
Top:= 10;
Left:= 5 + i * Width;
Show;
end
end;
for i:= Low(ButtonArray) to High(ButtonsArray) do
ButtonArray[i].Free
end.


 
Думкин   (2003-01-09 09:35) [5]

нет - сейчас он чуть поменял формулировку.

but : array[1..9] of tbutton;
for i:=1 to 9 do begin
but[i] := tbutton.create(self);
but[i].parent := ....
but[i].onClick := ....
but[i].Caption := .....
.....
end;
for i:=1 to 5 do чего тебе надо.


 
semmi   (2003-01-09 09:50) [6]

Спасибо.
Только еще один вопрос.
А как можно в цикле описать события кнопок (например click)?
but[i].onclick:=...
Если они идентичные. Пусть при нажатии кнопки выводится ее название.




 
Думкин   (2003-01-09 10:08) [7]

ну это можно и без циклов делать, например. Ты же знаешь все свои действия.


 
Separator ©   (2003-01-09 10:08) [8]

type
TForm1 = class(TForm)
...........
public
procedure ButClick(Sender: TObject);
end;

implementation

procedure TForm1.ButClick(Sender: TObject);
begin
ShowMessage((Sender as TButton).Name);
end;
...........
but[i].OnClick:= ButClick


 
semmi   (2003-01-09 10:27) [9]

Спасибо


 
Думкин   (2003-01-09 10:27) [10]

Да только, тогда нужно еще в цикле имена давать кнопочкам:
but[i].name := "but"+IntToStr(i)
типа такого и потом можно колбасится в общей функции.


 
CAMOBAP ©   (2003-01-09 14:41) [11]

А как так же сделать для Query
Попробовал по аналогии, не работает:
Query: array[2..6] of TQuery;
sum : array[2..6] of string;
for i:=2 to 6 do
Query[i]:=tQuery.create(self);
//Query[i]:=TQuery.Create(nil);
for i:=2 to 6 do
begin
Query[i].Sql.Clear;
Query[i].Sql.Add(sum[i]);
Query[i].Sql.Add(s3);
Query[i].Open;
end;



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

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

Наверх




Память: 0.49 MB
Время: 0.019 c
1-62653
Влад_Ч
2003-01-09 19:06
2003.01.20
Быстрая запись на диск


7-62880
vidiv
2002-10-30 06:53
2003.01.20
Pascal + Delhpi


14-62754
Alikm
2003-01-02 16:54
2003.01.20
Привет!!!


1-62610
d_oleg
2003-01-09 12:49
2003.01.20
Dll - динамическое создание ресурса


1-62556
ssmaxx
2003-01-10 18:19
2003.01.20
Системы линейных уравнений