1

次のコードを使用して、コンボボックスのアイテム数を取得しようとしています。エラーや適切なカウント量は得られません。intをstringに変換する必要があると思いますが、どうすればよいですか?

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

4 に答える 4

6

この行

 int count = ComboBox1->Items->Count; 

TComboBox内の文字列アイテムの数を返します。設定する前にこれを確認する必要があります

ComboBox1->ItemIndex = 1;

ItemIndexは、コンボボックスで選択されたアイテムを設定するために使用され、ゼロカウントされます。Embarcaderoで整数を文字列に変換するには、IntToStr()関数を使用できます

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

#include "System.hpp"その機能にアクセスする必要があります

于 2012-08-09T15:32:07.273 に答える
3
ComboBox1->ItemIndex = 1;
int count = ComboBox1->Items->Count;
Edit1->Text =  "Count: " + count;

"Count: " + countこれは"Count: "、文字列の最初の要素へのポインターに減衰し、 countそのポインターに追加される式です。その結果、文字列内のどこか (OK) または文字列の末尾を指す (一般的に未定義の動作) ことになります。

あなたの の使用に関して、ComboBox1あなたはその宣言を示しておらず、使用しているGUIフレームワークがあれば言及していません。

したがって、それが何であるかを推測せずに、それについて何も言うことはできません.

テキスト値のプレゼンテーションが挿入された書式設定されたテキストを作成するには、次のように、たとえばヘッダーstd::ostringstreamからa を使用できます。<sstream>

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

への呼び出しは、何を受け入れる.c_str()かによって、必要な場合とそうでない場合があります。Edit1.text

于 2012-08-09T15:31:27.137 に答える
2
ComboBox1->ItemIndex = 1; 
int count = ComboBox1->Items->Count;
Edit1->Text =  "Count: " + count;
于 2012-10-09T13:31:30.197 に答える