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

Вниз

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

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

Наверх




Память: 0.48 MB
Время: 0.005 c
2-1245781221
Footballer
2009-06-23 22:20
2009.08.23
Не дать закрыть чужому приложению


15-1245913258
b/@.
2009-06-25 11:00
2009.08.23
К чему может привести частое использование overload функций?


1-1211444212
MishaLukash
2008-05-22 12:16
2009.08.23
DBGrid цифровая клавиарура ввод десят.запятой


1-1212311072
Tack
2008-06-01 13:04
2009.08.23
Отключить автопрокрутку в TScrollBox


15-1245875404
Юрий
2009-06-25 00:30
2009.08.23
С днем рождения ! 25 июня 2009 четверг





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский