Главная страница
    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.008 c
3-62432
Fishka
2002-12-25 11:17
2003.01.20
Удаление записи из выборки (из query)


4-62932
Tenrai
2002-12-02 02:26
2003.01.20
Объясните, что делает эта функция...


3-62397
stoper
2002-12-23 13:31
2003.01.20
dbf,ASCII


1-62502
Fors
2003-01-10 13:51
2003.01.20
что не так в этой задаче


1-62646
laser
2003-01-09 17:52
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский