Главная страница
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.018 c
14-62839
ZG
2003-01-03 02:49
2003.01.20
хочу под локальную сеть чего-нибудь написать, но не знаю с чего


3-62408
VS2002
2002-12-26 08:20
2003.01.20
Работа с Data Module Designer


14-62741
adolf_99
2003-01-04 16:47
2003.01.20
Надо срочно горю


6-62701
badaxe
2002-11-22 11:39
2003.01.20
Список назначеных ip адресов под WIN2K.


3-62443
Максим
2002-12-19 11:24
2003.01.20
SUM в TQuery - точность суммирования