我正在尝试使用以下代码获取组合框项目数。它不会给出错误,也不会给出正确的计数。我想我必须将 int 转换为字符串,但是如何?
ComboBox1->ItemIndex = 1;
int count = ComboBox1->Items->Count;
Edit1->Text = "Count: " + count;
我正在尝试使用以下代码获取组合框项目数。它不会给出错误,也不会给出正确的计数。我想我必须将 int 转换为字符串,但是如何?
ComboBox1->ItemIndex = 1;
int count = ComboBox1->Items->Count;
Edit1->Text = "Count: " + count;
这条线
int count = ComboBox1->Items->Count;
返回 TComboBox 中字符串项的数量。你需要在设置之前检查这个
ComboBox1->ItemIndex = 1;
因为 ItemIndex 用于设置组合框中的选定项,并且计数为零。要在 Embarcadero 中将整数转换为字符串,您可以使用IntToStr()
函数
Edit1->Text = "Count:" + IntToStr(count)
您将需要#include "System.hpp"
访问该功能
ComboBox1->ItemIndex = 1;
int count = ComboBox1->Items->Count;
Edit1->Text = "Count: " + count;
这"Count: " + count
是一个表达式,其中"Count: "
衰减到指向字符串第一个元素的指针, count
被添加到该指针,结果它要么指向字符串内的某个位置(OK),要么指向字符串的末尾(通常是未定义的行为)。
关于 your 的使用ComboBox1
,您没有显示它的声明,也没有提到您正在使用哪个 GUI 框架(如果有的话)。
因此,如果不猜测它是什么,就无法谈论它。
为了创建带有插入文本值表示的格式化文本,您可以使用例如std::ostringstream
来自<sstream>
标题的 a,如下所示:
std::ostringstream stream;
stream << "Count: " << count;
Edit1->text = stream.str().c_str();
.c_str()
根据接受的内容,可能需要也可能不需要调用Edit1.text
。
ComboBox1->ItemIndex = 1;
int count = ComboBox1->Items->Count;
Edit1->Text = "Count: " + count;
没有必要经历所有这些杂耍。为此提供了一个简单的功能。
int count = ComboBox1.GetItemCount();