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

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



Память: 0.47 MB
Время: 0.014 c
2-1245142539
vitalik200888
2009-06-16 12:55
2009.08.16
печать из delphi.


15-1245249210
Rouse_
2009-06-17 18:33
2009.08.16
Есть кто знающий хорошо РНР?


1-1211793004
aidyn
2008-05-26 13:10
2009.08.16
20-значная цифра


2-1245675524
dmitry1991
2009-06-22 16:58
2009.08.16
составить Pattern(RegExp)


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




   Наверх