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

Вниз

Обработка чекбоксов   Найти похожие ветки 

 
Нойвам   (2009-06-21 02:33) [0]

Добрый день, подскажите пожалуйста как правильно организовать проверку большого кол-ва checkbox`ов.
то есть я хочу сделать что то вроде этого:
for i:=1 to n do
if checkbox[i].Checked=true then label[i].Caption:="1" else label[i].Caption:="0";


 
Юрий Зотов ©   (2009-06-21 03:40) [1]

Вариант 1 - сделать массивы (один хранит CheckBox"ы, другой - Label"ы).

Вариант 2 - оставить CheckBox"ам и Label"ам имена по умолчанию, а для поиска и использовать FindComponent.

Вариант 3.  Назначить CheckBox"ам и Label"ам свойство Tag, а для поиска использовать цикл for i := 0 to ComponentCount - 1.

И еще можно варианты придумать. Все зависит от задачи - что в конечном счете нужно-то?


 
TIF ©   (2009-06-21 05:32) [2]

> проверку большого кол-ва checkbox`ов

Подозреваю, что вместо использования кучи вам было бы удобнее, проще и логичнее использовать компонент TCheckListBox

if CheckListBox1.State[i]=cbChecked then ля-ля-ля else тра-ля-ля;

А возможно, ещё и вместо label-ов использовать саму строку с "галочкой", которую мы щёлкаем:
CheckListBox1.Items[i]:="Чайник на плите: вкл.";
CheckListBox1.Items[i]:="Чайник на плите: выкл.";


;-)


 
Юрий Зотов ©   (2009-06-21 06:02) [3]


const
 OnOff: array[boolean] of string = ("выкл.", "вкл.");
// ==========
with CheckListBox1 do
 Items[i] := "Чайник на плите: " + OnOff[State[i] = cbChecked];

:o)


 
Юрий Зотов ©   (2009-06-21 11:43) [4]

Кстати, малюсенькая задачка для начинающих программеров (кто хочет, естественно) - сократить код в [3] и одновременно расширить его возможности.

Ув. профи, обратите внимание - для начинающих.
:о)


 
axis_of_evil ©   (2009-06-22 11:28) [5]

const
OnOff: array[TCheckBoxState] of string = ("выкл.", "вкл.", "заело");
// ==========
with CheckListBox1 do
Items[i] := "Чайник на плите: " + OnOff[State[i]];


так?
// я на полном серьезе отношу себя к начинающим, потому как программированием занимался сколь-либо серьезно три года назад -> i am a table %>


 
Ega23 ©   (2009-06-22 11:44) [6]


> i am a table %>


Ты - табличко?  :)))


 
brother ©   (2009-06-22 11:49) [7]

> Ты - табличко?  :)))

ну хоть не креведко)


 
axis_of_evil ©   (2009-06-22 12:06) [8]


> Ega23 ©   (22.06.09 11:44) [6]

стол %>


 
Юрий Зотов ©   (2009-06-22 14:10) [9]

> axis_of_evil ©   (22.06.09 11:28) [5]
> так?
Конечно.


 
axis_of_evil ©   (2009-06-22 14:11) [10]

спасибо, Юрий :>



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

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

Наверх




Память: 0.49 MB
Время: 0.014 c
1-1211958221
Still Swamp
2008-05-28 11:03
2009.08.16
Dsgjkyb


15-1244816619
dnepr
2009-06-12 18:23
2009.08.16
Вопрос про потоки


2-1245321293
Franzy
2009-06-18 14:34
2009.08.16
Always on top в пределах одного приложения


15-1245341259
Кто б сомневался
2009-06-18 20:07
2009.08.16
Speed Gear - ускоритель или замедлитель 3D игр - принцип работы


15-1244567146
TUser
2009-06-09 21:05
2009.08.16
Чему равно 3^3^3 (этажерка из трех троек)?