如何对清单框中的值求和?
how to sum values from checklistbox?
我需要对清单框中的值求和。我的代码是:
void __fastcall TForm1::CorrigirClick(TObject *Sender)
{
int x;
float soma=0;
for(x=0; cblOp->Items->Count-1; x++) {
soma = soma + StrToFloat(cblOp->Items[x]);
}
Edit1->Text = FloatToStr(soma);
}
我收到以下错误:[BCC32 错误]Unit1.cpp(50): E2285 找不到 'StrToFloat(TStrings)'[=11= 的匹配项]
您编写的代码好像可以访问 Delphi 默认属性,但您需要使用更复杂的代码才能在 C++ Builder 上访问它们。像这样:
StrToFloat((*(cblOp->Items))[x])
但是,明确默认值 属性 并将其写为:
可能更清晰、更简单
StrToFloat(cblOp->Items->Strings[x])
另请注意,您的环路测试不正确。您的代码应该是:
for(x=0; x < cblOp->Items->Count; x++)
soma = soma + StrToFloat(cblOp->Items->Strings[x]);
我需要对清单框中的值求和。我的代码是:
void __fastcall TForm1::CorrigirClick(TObject *Sender)
{
int x;
float soma=0;
for(x=0; cblOp->Items->Count-1; x++) {
soma = soma + StrToFloat(cblOp->Items[x]);
}
Edit1->Text = FloatToStr(soma);
}
我收到以下错误:[BCC32 错误]Unit1.cpp(50): E2285 找不到 'StrToFloat(TStrings)'[=11= 的匹配项]
您编写的代码好像可以访问 Delphi 默认属性,但您需要使用更复杂的代码才能在 C++ Builder 上访问它们。像这样:
StrToFloat((*(cblOp->Items))[x])
但是,明确默认值 属性 并将其写为:
可能更清晰、更简单StrToFloat(cblOp->Items->Strings[x])
另请注意,您的环路测试不正确。您的代码应该是:
for(x=0; x < cblOp->Items->Count; x++)
soma = soma + StrToFloat(cblOp->Items->Strings[x]);