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

Вниз

Получить номер элемента в массиве   Найти похожие ветки 

 
AndrewG ©   (2009-06-26 14:19) [0]

Добрый день.
Есть массив mas:array [1..10] of TCheckBox;
OnClick каждому элементу=procedure1;
Подскажите как в этой procedure1 получить номер элемента массива mas
по которому совершили клик.


 
Плохиш ©   (2009-06-26 14:20) [1]


> Подскажите как в этой procedure1 получить номер элемента
> массива mas
> по которому совершили клик.

Перебором и сравнением переданного в Sender значения с каждым элементом массива.


 
clickmaker ©   (2009-06-26 14:24) [2]

можно им индекс в Tag назначить, если он не занят


 
{RASkov} ©   (2009-06-26 14:24) [3]

При занесении в массив Tag"у присвоить номер. Получаем так:
procedure ...ChecksClick(Sender: TObject);
begin
 Number:=Component(Sender).Tag;
end;


 
Сергей М. ©   (2009-06-26 14:24) [4]


> Есть массив mas:array [1..10] of TCheckBox;


При заполнении массива устанавливай св-во Tag каждого эл-та равным индексу этого эл-та в массиве.

Тогда

Индекс_элемента_массива := TCheckBox(Sender).Tag


 
Anatoly Podgoretsky ©   (2009-06-26 14:24) [5]

> AndrewG  (26.06.2009 14:19:00)  [0]

Что, Где, Когда?


 
AndrewG ©   (2009-06-26 14:25) [6]

А можно както получить адрес по которому совершили клик?
Затем вычесть из него адрес первого элемента массива.
Зная(как узнать?) размер каждого элемента получим номер элемента.
(адрклик-адрпервый)/размерэлемент
Как-то можно такое реализовать?


 
{RASkov} ©   (2009-06-26 14:26) [7]

> индекс в Tag

ну т.е. да.
for N:=1 to 10 do begin
....
mas[N].Tag:=N;
)


 
Плохиш ©   (2009-06-26 14:26) [8]

1:3
:-))


 
Вариант   (2009-06-26 14:27) [9]

Еще вариант -использовать свойство Tag в CheckBox-е, в которое конечно надо будет прописать индекс в массиве. Зато потом получите его сразу


 
Плохиш ©   (2009-06-26 14:27) [10]


> AndrewG ©   (26.06.09 14:25) [6]

Может тебе почитать чего для начала.


 
Вариант   (2009-06-26 14:28) [11]

Мдааа, с учетом [2] можно сказать - медленно читал и еще медленей писал, ну не я один:-)


 
AndrewG ©   (2009-06-26 14:29) [12]

Прошу прощения пока набирал, не обновил страницу, не заметил ответы
Всем спасибо


 
{RASkov} ©   (2009-06-26 14:29) [13]

> [6] AndrewG ©   (26.06.09 14:25)
> А можно както получить адрес по которому совершили клик?

Sender
...А дальше что-то путаница какая-то(


 
{RASkov} ©   (2009-06-26 14:30) [14]

М-да.... реактивная работа)


 
Плохиш ©   (2009-06-26 14:32) [15]


> М-да.... реактивная работа)
>

А наша реактивней всех :-))


 
Anatoly Podgoretsky ©   (2009-06-26 14:35) [16]

> Плохиш  (26.06.2009 14:32:15)  [15]

Наша Маша лучше вашей.


 
Leonid Troyanovsky ©   (2009-06-26 14:39) [17]


> AndrewG ©   (26.06.09 14:25) [6]

> Затем вычесть из него адрес первого элемента массива.
> Зная(как узнать?) размер каждого элемента получим номер
> элемента.

А они не слышали о замечательном изобретении: сковородке
с уже приделанным чапельником, в народе называемой
"сковородка с ручкой"?

См. TCheckListBox.

--
Regards, LVT.



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

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

Наверх




Память: 0.5 MB
Время: 0.01 c
4-1215200494
Riply
2008-07-04 23:41
2009.08.23
AppInit_Dll - механизм работы.


2-1245739359
dmitry_12_08_73
2009-06-23 10:42
2009.08.23
Как скопировать окно с AlphaBlend = true?


15-1245821248
Andy BitOff
2009-06-24 09:27
2009.08.23
Тут как-то пробегала ссылка...


2-1246014882
berezne
2009-06-26 15:14
2009.08.23
Компиляция exe файла


15-1245437339
Unknown user
2009-06-19 22:48
2009.08.23
DrawGrid, только вместо ячеек - панели