Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.01.20;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.009 c
4-62900
Monster_Kot
2002-12-02 07:37
2003.01.20
Послать сообшение (как командой Net Send)?


1-62448
Валерий
2003-01-07 19:05
2003.01.20
TreeView Codepage for nodes


1-62537
diww
2003-01-08 18:23
2003.01.20
Ввод в Edit только цифр


14-62853
Top Gun
2002-12-26 21:35
2003.01.20
Partition Magic не конвертит в NTFS


1-62603
vlad40
2003-01-09 11:41
2003.01.20
Обращение к компоненту по его имени





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский