Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.007 c
2-1245840591
Sly_Laban
2009-06-24 14:49
2009.08.23
*.doc-файл из RichEdit a


2-1245851762
Cobalt
2009-06-24 17:56
2009.08.23
Как выбрать цвет выделения текста?


15-1245616201
Юрий
2009-06-22 00:30
2009.08.23
С днем рождения ! 22 июня 2009 понедельник


3-1226433808
EvgCh
2008-11-11 23:03
2009.08.23
Непонятная грабля с master-detail


15-1245443402
Юрий
2009-06-20 00:30
2009.08.23
С днем рождения ! 20 июня 2009 суббота




   Наверх