Перебор компонентов
if Form1.CheckBox1.Checked ....
if Form1.CheckBox2.Checked ....
....
if Form1.CheckBox20.Checked ....
а сделать одним If-ом.
На форме есть 20 чекбоксов нужно организовать цыкл в котором надо проверять свойство checked и выполнять соответствующее условие. Как правильно ето сделать чтобы не писать:
if Form1.CheckBox1.Checked ....
if Form1.CheckBox2.Checked ....
....
if Form1.CheckBox20.Checked ....
а сделать одним If-ом.
Ну можно поступить примерно так:
Const C: Boolean = true
case С of
Form1.CheckBox2.Checked:
//код///
End;
Form1.CheckBox3.Checked:
//код///
Не пробовал в действии, мош можно и без константы обойтись :) (true иль false)
End;
На форме есть 20 чекбоксов нужно организовать цыкл в котором надо проверять свойство checked и выполнять соответствующее условие. Как правильно ето сделать чтобы не писать:
if Form1.CheckBox1.Checked ....
if Form1.CheckBox2.Checked ....
....
if Form1.CheckBox20.Checked ....
а сделать одним If-ом.
RTTI forever:)
I: Integer;
begin
for I := 0 to ComponentCount - 1 do
if Components is TCheckBox then
if (Components as TCheckBox).Checked then
//
end;
I: Integer;
begin
for I := 0 to ComponentCount - 1 do
if Components is TCheckBox then
if (Components as TCheckBox).Checked then
//
end;
А как можно эти чекбоксы таким же образом найти на другом окне, и удалить их или хотя бы visible поменять (имя и класс окна известны)
Таким образом создаю:
For i:=1 To 3 Do
with TEdit.Create(Self) do
begin
Name:='Edit'+IntToStr(i);;
Top:=i*25;
ParentWindow:=Hnd;
end;
Со своего окна легко их грохнуть: Components[n].Destroy;, а с чужим чето неполучается...
А как можно эти чекбоксы таким же образом найти на другом окне, и удалить их или хотя бы visible поменять (имя и класс окна известны)
Сообщения Windows - как раз для этой задачи, как мне кажется :) Только на найденном окне надо будет сначала найти компоненты нужного тебе класса, а потом бросать в них WM_что-то-там :)
Сообщения Windows - как раз для этой задачи, как мне кажется :) Только на найденном окне надо будет сначала найти компоненты нужного тебе класса, а потом бросать в них WM_что-то-там :)
Дык вот именно что я немогу догнать как эти компонеты найти (независимо от класса, но нужны TLabel и TEdit)(на чужом окне)...
Что можно сделать...??? Подскажите плз...