我查詢一數據庫後.
在窗口上動態生成了一些組件:
while not adoquery1.eof do
begin
ss:=Tbsskincheckradiobox.Create(application);
ss.Parent:=box;
ss.Name:='chick'+inttostr(adoquery1.RecNo);
ss.caption:=adoquery1.fieldbyname('name').asstring;
ss.Left:=200;
ss.Top:=30+25*adoquery1.RecNo;
ss.SkinData:=mainskindata;
adoquery1.Next;
end;
現有一按鈕.!單擊它後把上面自動生成的組件中checked為True的Caption顯示出來.!
for i:=0 to form12.ControlCount-1 do
begin
if (form12.Controls[i] is Tbsskincheckradiobox ) then
begin
if (form12.Controls[i] as Tbsskincheckradiobox).Checked then
begin
s:=(form12.Controls[i] as Tbsskincheckradiobox).caption;
showmessage(s);
end;
end;
end; 這段沒反映.!var
AComponent: TComponent;
I: Integer;
S: string;
begin
for I := 1 to AdoQuery1.RecordCount do
begin
AComponent := FindComponent('chick'+inttostr(i));
if AComponent is Tbsskincheckradiobox then
with Tbsskincheckradiobox(AComponent) do
if Checked then S := S + Caption;
end;
showmessage(s);
end; 這段也沒反映:S出來的是空串 for i:=1 to adoquery1.RecordCount do
begin
if Tbsskincheckradiobox(findcomponent('chick'+inttostr(i))).Checked then
s:=s+Tbsskincheckradiobox(findcomponent('chick'+inttostr(i))).Caption;
end;
這段報錯.!
在窗口上動態生成了一些組件:
while not adoquery1.eof do
begin
ss:=Tbsskincheckradiobox.Create(application);
ss.Parent:=box;
ss.Name:='chick'+inttostr(adoquery1.RecNo);
ss.caption:=adoquery1.fieldbyname('name').asstring;
ss.Left:=200;
ss.Top:=30+25*adoquery1.RecNo;
ss.SkinData:=mainskindata;
adoquery1.Next;
end;
現有一按鈕.!單擊它後把上面自動生成的組件中checked為True的Caption顯示出來.!
for i:=0 to form12.ControlCount-1 do
begin
if (form12.Controls[i] is Tbsskincheckradiobox ) then
begin
if (form12.Controls[i] as Tbsskincheckradiobox).Checked then
begin
s:=(form12.Controls[i] as Tbsskincheckradiobox).caption;
showmessage(s);
end;
end;
end; 這段沒反映.!var
AComponent: TComponent;
I: Integer;
S: string;
begin
for I := 1 to AdoQuery1.RecordCount do
begin
AComponent := FindComponent('chick'+inttostr(i));
if AComponent is Tbsskincheckradiobox then
with Tbsskincheckradiobox(AComponent) do
if Checked then S := S + Caption;
end;
showmessage(s);
end; 這段也沒反映:S出來的是空串 for i:=1 to adoquery1.RecordCount do
begin
if Tbsskincheckradiobox(findcomponent('chick'+inttostr(i))).Checked then
s:=s+Tbsskincheckradiobox(findcomponent('chick'+inttostr(i))).Caption;
end;
這段報錯.!
ss.Parent:=box;for i:=0 to Box.ControlCount-1 do //你的控件是放在Box容器里的
begin
if (form12.Controls[i] is Tbsskincheckradiobox ) then
begin
if (form12.Controls[i] as Tbsskincheckradiobox).Checked then
begin
s:=(form12.Controls[i] as Tbsskincheckradiobox).caption;
showmessage(s);
end;
end;
end;
----------------------------
单步跟踪看看
if Checked then
S := S + Caption;
有没有执行
begin
if (box.Controls[i] is Tbsskincheckradiobox ) then
begin
if (box.Controls[i] as Tbsskincheckradiobox).Checked then
begin
s:=(box.Controls[i] as Tbsskincheckradiobox).caption;
showmessage(s);
end;
end;
end;
//OK