![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Обработка чекбоксов
Нойвам © (2009-06-21 02:33:00)Добрый день, подскажите пожалуйста как правильно организовать проверку большого кол-ва checkbox`ов.
то есть я хочу сделать что то вроде этого:
for i:=1 to n do
if checkbox[i].Checked=true then label[i].Caption:='1' else label[i].Caption:='0';
axis_of_evil (2009-06-22 14:11:00) [1]спасибо, Юрий :>
Юрий Зотов (2009-06-22 14:10:00) [2]> axis_of_evil © (22.06.09 11:28) [5]
> так?
Конечно.
axis_of_evil (2009-06-22 12:06:00) [3]
> Ega23 © (22.06.09 11:44) [6]
стол %>
brother (2009-06-22 11:49:00) [4]> Ты - табличко? :)))
ну хоть не креведко)
Ega23 (2009-06-22 11:44:00) [5]
> i am a table %>
Ты - табличко? :)))
axis_of_evil (2009-06-22 11:28:00) [6]
const
OnOff: array[TCheckBoxState] of string = ('выкл.', 'вкл.', 'заело');
// ==========
with CheckListBox1 do
Items[i] := 'Чайник на плите: ' + OnOff[State[i]];
так?
// я на полном серьезе отношу себя к начинающим, потому как программированием занимался сколь-либо серьезно три года назад -> i am a table %>
Юрий Зотов (2009-06-21 11:43:00) [7]Кстати, малюсенькая задачка для начинающих программеров (кто хочет, естественно) - сократить код в [3] и одновременно расширить его возможности.
Ув. профи, обратите внимание - для начинающих.
:о)
Юрий Зотов (2009-06-21 06:02:00) [8]
const
OnOff: array[boolean] of string = ('выкл.', 'вкл.');
// ==========
with CheckListBox1 do
Items[i] := 'Чайник на плите: ' + OnOff[State[i] = cbChecked];
:o)
TIF (2009-06-21 05:32:00) [9]> проверку большого кол-ва checkbox`ов
Подозреваю, что вместо использования кучи вам было бы удобнее, проще и логичнее использовать компонент TCheckListBox
if CheckListBox1.State[i]=cbChecked then ля-ля-ля else тра-ля-ля;
А возможно, ещё и вместо label-ов использовать саму строку с "галочкой", которую мы щёлкаем:
CheckListBox1.Items[i]:='Чайник на плите: вкл.';
CheckListBox1.Items[i]:='Чайник на плите: выкл.';
;-)
Юрий Зотов (2009-06-21 03:40:00) [10]Вариант 1 - сделать массивы (один хранит CheckBox'ы, другой - Label'ы).
Вариант 2 - оставить CheckBox'ам и Label'ам имена по умолчанию, а для поиска и использовать FindComponent.
Вариант 3. Назначить CheckBox'ам и Label'ам свойство Tag, а для поиска использовать цикл for i := 0 to ComponentCount - 1.
И еще можно варианты придумать. Все зависит от задачи - что в конечном счете нужно-то?