2012-08-09 142 views
0

我想要使用以下代碼獲取組合框項目數。它不會產生錯誤,也不會產生適量的計數。我想我必須將int轉換爲字符串,但是如何?如何獲得組合框項目數

ComboBox1->ItemIndex = 1; 
int count = ComboBox1->Items->Count; 
Edit1->Text = "Count: " + count; 
+0

你期待什麼,在Edit1-> Text中顯示什麼?你如何將項目添加到ComboBox1以及添加了多少項目? – shf301 2012-08-09 15:24:35

+0

即時對不起,我現在非常喜歡Embarcadero RAD Studio XE2。我創建了一個VCL應用程序 – 2012-08-09 15:26:06

+0

@ shf301它應該是30,並且Edit1-> Text =「」 – 2012-08-09 15:28:18

回答

4

此行

int count = ComboBox1->Items->Count; 

返回您TComboBox的字符串項numnber。你需要設置

ComboBox1->ItemIndex = 1; 

爲的ItemIndex是用來設置在組合框中選擇的項目是從零開始計數前進行檢查。要將整數轉換爲字符串Embarcadero公司可以使用IntToStr()功能

Edit1->Text = "Count:" + IntToStr(count) 

您需要#include "System.hpp"訪問功能

+0

正是我期待的對於。謝謝。 – 2012-08-09 15:46:18

2
ComboBox1->ItemIndex = 1; 
int count = ComboBox1->Items->Count; 
Edit1->Text = "Count: " + count; 

這裏"Count: " + count是其中"Count: "衰減到字符串指針的第一個元素的表達式,count被添加到該指針,其結果是它的字符串(OK)或關閉內的某處或者點字符串的結尾(通常爲未定義行爲)。

關於使用ComboBox1,你沒有顯示它的聲明,你沒有提到你正在使用的GUI框架。

所以沒有什麼可以說,它沒有猜測它是什麼。

爲了創建插入文本值演示文稿的格式化文本,您可以使用例如一個std::ostringstream<sstream>頭,像這樣:

std::ostringstream stream; 
stream << "Count: " << count; 
Edit1->text = stream.str().c_str(); 

.c_str()調用可能會或可能不會是必要的,這取決於Edit1.text接受。

1
ComboBox1->ItemIndex = 1; 
int count = ComboBox1->Items->Count; 
Edit1->Text = "Count: " + count; 
0

沒有任何必要去通過所有這些把戲。一個簡單的功能可用於此。

int count = ComboBox1.GetItemCount();