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

Вниз

Пробег по компонентам   Найти похожие ветки 

 
Skif   (2003-09-03 05:19) [0]

Есть группа чекбоксов. Помечаюстя некоторые. Мне нужно после отработки моего кода, галочки снять с помеченных. Я знаю что есть метод решения в дельфях. Я его даже встречал, но не помню. Напомните, плиз.


 
Zergling ©   (2003-09-03 05:56) [1]

for I := 0 to Form1.ComponentCount - 1 do
if (Form1.Components[I] is TCheckBox) then
if (Form1.Components[I] as TCheckBox).Checked then (Form1.Components[I] as TCheckBox).Checked := False;


 
KSergey ©   (2003-09-03 07:15) [2]

Может есть смысл воспльзоваться TCheckListBox?
Тогда просто
for i := 0 to CheckListBox.Items.Count-1 do
CheckListBox.Checked[i] := FALSE;


 
Юрий Зотов ©   (2003-09-03 07:26) [3]

Зачем так много лишнего? В методе той же формы пишем:

for I := 0 to ComponentCount - 1 do
if Components[I] is TCheckBox then
TCheckBox(Components[I]).Checked := False;

1. Избавляемся от ссылки на конкретный экземпляр формы (которой, кстати, может и не быть или она может указывать не туда, куда нужно).

2. Избавляемся от лишней проверки if Checked.

3. Избавляемся от 2-х AS, которые после IS не только не нужны, но еще и замедляют работу.

Примечание.
Код сработает только для тех CheckBox"ов, владельцем которых является сама форма. Для всех компонентов, которые были положены на форму в design-time это так и есть, а если компонент создается в run-time, то в параметре его конструктора надо будет указать форму (лучше создавать в методе этой же формы и передавать Self).



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

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

Наверх




Память: 0.47 MB
Время: 0.023 c
1-48542
Сергей Непочатов
2003-09-02 09:57
2003.09.15
Найти рабочий лист Excel


14-48768
Palladin
2003-08-25 16:26
2003.09.15
Однако :))


14-48687
zdn
2003-08-25 20:59
2003.09.15
asus cd-rom


14-48726
Pindos
2003-08-26 21:26
2003.09.15
Пираты


14-48793
Scholl
2003-08-26 01:20
2003.09.15
Покупка диска