如何用循环语句给多个变量赋值

sspline 2012-05-20 11:24:21
我有15个Double变量,通过15个文本框给他们赋值,怎么实现?
...全文
553 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
asctwo 2012-05-24
  • 打赏
  • 举报
回复
把妖哥的 edt->Text = d[i];这句改成D[i]=edt->Text.ToDouble();应该可以了
sxqinge 2012-05-21
  • 打赏
  • 举报
回复
呵呵学习妖哥
cptang 2012-05-21
  • 打赏
  • 举报
回复
妖哥真有耐心
oldtab 2012-05-20
  • 打赏
  • 举报
回复
#define cnt 15
Double DoubleValue[cnt];
TEdit * pEdit[cnt];
for(int i= 0; i< cnt; i++)
{
pEdit[i]= new TEdit(this);
pEdit[i]->Parent= this;
pEdit[i]->Tag= i;
pEdit[i]->OnChange= EditChange;
}
__fastcall xx::EditChange(TObject*Sender)
{
TEdit*pedit= (TEdit*)Sender;
DoubleValue[pedit->Tag]= pedit->Text.ToDoubld();
}
我这用的是动态创建控件。你的控件,如是用鼠标点出的。就只要把它们的Tag赋值。
ccrun.com 2012-05-20
  • 打赏
  • 举报
回复
简单的方法是:double变量用数组,15个文本框规范命名。具体如下:
创建一个double数组:
double d[15] =
{
1.1, 2.2, 3.3, 4.4, 5.5,
6.6, 7.7, 8.8, 9.9, 10.0,
11.1, 12.2, 13.3, 14.4, 15.5
};

15个文本框分别命名为 edtDouble1 至 edtDouble15
注意这一步很重要

最后是批量赋值:
TEdit *edt;
AnsiString str;
for (int i = 0; i < 15; i++)
{
str.sprintf("edtDouble%d", i + 1);
edt = (TEdit *)FindComponent(str);
if (edt)
edt->Text = d[i];
}

13,866

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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