Главная страница
    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-1245226924
девушка
2009-06-17 12:22
2009.08.23
Вызов ХП из FastReport


15-1245911928
desc
2009-06-25 10:38
2009.08.23
Не получается "слиять" два поля... Postgres


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


15-1245558337
honor
2009-06-21 08:25
2009.08.23
Вопрос по версии Delphi


15-1245823916
balepa
2009-06-24 10:11
2009.08.23
Отвалился конденсатор на GF8500





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