程序根据数据表自动生成多个TCheckBox,供用户进行选择.当在存盘时,就要一一引用上面自动生成的控件,分析用户是否对此项进行了选择,这要如何实现?本人是想用如
下代码实现,可有一句就不知要如何写?高手指教!
var
cbpower:TCheckBox;
begin
.....取数据表数据....
while (not adoqpower.eof) do
begin
cbpower:=某一个自动生成的控件; //控件名是以数据表中的记录编号f_id 为名的,不会重复!
if(cbpower.checked) then
...........
else
..............
adoqpower.next;
end;
下代码实现,可有一句就不知要如何写?高手指教!
var
cbpower:TCheckBox;
begin
.....取数据表数据....
while (not adoqpower.eof) do
begin
cbpower:=某一个自动生成的控件; //控件名是以数据表中的记录编号f_id 为名的,不会重复!
if(cbpower.checked) then
...........
else
..............
adoqpower.next;
end;
begin
Temp:=self.findcomponent('控件名称');
if Assigned(Temp) then
if (Temp As TCheckBox).Checked then
.............
end;
自动生成的控件,你就不能通过控件名字来使用它了
1是你不知道他叫什么名字,即使知道,你调用他的名字编译就不会过
一般做法是在生成控件的时候给他的name或tag等属性保存你的信息
然后用便利所有控件看他是不是TCheckBox然后根据nage或caption或tag来处理
如
for i := 0 to self.ControlCount -1 do
if self.Controls[i] is TCheckBox then