Советы по Delphi


Идентификация CheckBox'ов


В режиме проектирования вы, как программист, без труда узнаете, сколько checkbox'ов содержит ваша форма. А вот когда приложение запущено... Используйте Delphi Run Time Type Information (RTTI). Для нашей испытуемой формы вы можете попробовать следующий код:

    var
i : Integer begin
for
i := 0 to ComponentCount - 1 do: if Components[i] is TCheckBox then (Components[i] as TCheckBox).Checked then begin

... сюда поместите ваш код ... end
; end;

Кроме того, следующий код Delphi абсолютно корректен:

    if Components[i] = CheckBox5 then Чтотоделаем;

Также, каждый компонент в Delphi имеет опубликованное (Published) свойство с именем 'Tag', значение которого вы можете задавать во время создания компонента, и затем, во время выполнения приложения, обращаться к нему для получения доступа к компоненту:

    var
i : Integer begin
for
i := 0 to ComponentCount - 1 do: if Components[i] is TCheckBox then with (Components[i] as TCheckBox) do Case Tag of 1 : if Checked then DoSomethingOnBox1; 2 : if Checked then DoSomethingOnBox2; ... другое ... end; end;

Для получения дополнительной информации, обратитесь к справке Delphi с ключевым словом "ComponentCount". [001509]



Содержание раздела