请高手给个思路:(有示例更好)现在我有15个panel,我想通过查询 select a.name,a.codelength from 表 a
动态控制10个panel的with和caption:
假设:recordcout case
1:那么panel1.caption:=a.fieldbyname('name').asstring;
2:panel1.caption:=a.fieldbyname('name').asstring;//第1个name
panel2.caption:=a.fieldbyname('name').asstring;//第2个name
3:
panel1.caption:=a.fieldbyname('name').asstring;//第1个name
panel2.caption:=a.fieldbyname('name').asstring;//第2个name
panel3.caption:=a.fieldbyname('name').asstring;//第3个name
4:
panel1.caption:=a.fieldbyname('name').asstring;//第1个name
panel2.caption:=a.fieldbyname('name').asstring;//第2个name
panel3.caption:=a.fieldbyname('name').asstring;//第3个name
panel4.caption:=a.fieldbyname('name').asstring;//第4个name
.......请问我该咋个去循环处理呢?
动态控制10个panel的with和caption:
假设:recordcout case
1:那么panel1.caption:=a.fieldbyname('name').asstring;
2:panel1.caption:=a.fieldbyname('name').asstring;//第1个name
panel2.caption:=a.fieldbyname('name').asstring;//第2个name
3:
panel1.caption:=a.fieldbyname('name').asstring;//第1个name
panel2.caption:=a.fieldbyname('name').asstring;//第2个name
panel3.caption:=a.fieldbyname('name').asstring;//第3个name
4:
panel1.caption:=a.fieldbyname('name').asstring;//第1个name
panel2.caption:=a.fieldbyname('name').asstring;//第2个name
panel3.caption:=a.fieldbyname('name').asstring;//第3个name
panel4.caption:=a.fieldbyname('name').asstring;//第4个name
.......请问我该咋个去循环处理呢?
i:integer;
i:=1;
query1.close;
query1.sql.clear;
query1.sql.add('select a.name,a.codelength from 表 a
');
query1.open;
query1.first;
while not query1.eof
do
begin
panel[i].caption:=a.fieldbyname('name').asstring;
i:=i+1;
query1.next;
end;
var
mypanel:string;
begin
mypanel:='panel';
i := 1;
Q1.First;
while not Q1.Eof do
begin
with TPanel(FindComponent(mypanel + IntToStr(i))) do
begin
Caption := Q1.fieldbyname('levelname').AsString;
Visible :=true;
end;
i := i + 1;
Q1.Next;
end;
end;