![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Кнопки в циклах
Scorpi © (2003-01-09 07:26:00)Мужики, помогите!!!
Как мне осуществить обращение к свойствам одинаковых компонентов через цикл???
Чтобы не писать каждый раз вот так
Button1.Enabled:=false;
.....
.....
Batton5.Enabled:=false;
Но только это сделать с первыми 5 из 9
И не через CopmponentIndex.
Типа вот так
For i:=1 to 10 do
Button[i].enabled:=false;
CAMOBAP (2003-01-09 14:41:00) [1]А как так же сделать для 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;
semmi (2003-01-09 10:27:00) [2]Спасибо
Думкин (2003-01-09 10:27:00) [3]Да только, тогда нужно еще в цикле имена давать кнопочкам:
but[i].name := "but"+IntToStr(i)
типа такого и потом можно колбасится в общей функции.
Думкин (2003-01-09 10:08:00) [4]ну это можно и без циклов делать, например. Ты же знаешь все свои действия.
Separator (2003-01-09 10:08:00) [5]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 09:50:00) [6]Спасибо.
Только еще один вопрос.
А как можно в цикле описать события кнопок (например click)?
but[i].onclick:=...
Если они идентичные. Пусть при нажатии кнопки выводится ее название.
Думкин (2003-01-09 09:35:00) [7]нет - сейчас он чуть поменял формулировку.
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 чего тебе надо.
Separator (2003-01-09 09:33:00) [8]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.
stone (2003-01-09 09:31:00) [9]Только вчера был ответ на этот вопрос с примером
semmi (2003-01-09 09:21:00) [10]Как сделать массив кнопок
Думкин (2003-01-09 07:54:00) [11]Ну так сделай массив кнопок - и вперед.