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

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



Память: 0.45 MB
Время: 0.016 c
14-48717
Ahmad K
2003-08-26 02:43
2003.09.15
Delphi 7 vs Delphi 3


3-48439
alex-ran
2003-08-26 12:07
2003.09.15
Параметрический запрос


1-48622
Hawk2
2003-09-02 19:43
2003.09.15
Что за ошибка: Invalid pointer operation.


1-48618
Relaxxx
2003-09-02 11:52
2003.09.15
Нащет StringGrid


14-48777
Dimka Maslov
2003-08-25 18:54
2003.09.15
Колбаса




   Наверх