求一简单代码

123ppmove 2004-12-11 04:09:27
var
str:array[0..4] of string;
begin
checkbox1.Caption := str[1];
checkbox2.Caption := str[2];
checkbox3.Caption := str[3];
checkbox4.Caption := str[4];
end;
如上,我想实现一个for循环,能够简单的实现上面的功能。不知道这么描述清楚不?我现在就是不知道改怎么能够checkbox[i],如果能够这样就能写for循环了,》?
谢谢。。
...全文
58 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
123ppmove 2004-12-11
  • 打赏
  • 举报
回复
Kevin_Lmx(繁华阅尽) (
--这种代码,安全性………………

??这种代码安全性不好吗?不应该这样吗?
Kevin_Lmx 2004-12-11
  • 打赏
  • 举报
回复
那就这样:
var
i,j:Integer;
......
for i := 0 to Form1.ControlCount do
begin
if Form1.Controls[i] is TCheckBox then
begin
j := StrToInt(Copy(TCheckBox(Form1.Controls[i]).Name,Length(TCheckBox(Form1.Controls[i]).Name)-1,1)); //得到名字的最后一位数字
TCheckBox(Form1.Controls[i]).Caption := Str[j];
end;
end;
--这种代码,安全性………………
gobiz 2004-12-11
  • 打赏
  • 举报
回复
for i:=1 to 4 do
begin
for j := 0 to Form1.ControlCount-1 do
begin
if Form1.Controls[j] is TCheckBox then
begin
TCheckBox(Form1.Controls[j]).Caption := Str[i];
end;
end;
end;
123ppmove 2004-12-11
  • 打赏
  • 举报
回复
这样?
没有对应啊,checkbox1要等于str[1]啊,!
Kevin_Lmx 2004-12-11
  • 打赏
  • 举报
回复
假定你的CheckBox是放在Form1上,那么:
for i := 0 to Form1.ControlCount-1 do
begin
if Form1.Controls[i] is TCheckBox then
begin
TCheckBox(Form1.Controls[i]).Caption := Str[i];
end;
end;

5,386

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧