Идентификация 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]