textBox->Textの演算

解決


Natoh  2005-09-06 13:44:19  No: 58889  IP: 192.*.*.*

はじめまして。Natohです。

this->textBox->Text += 1; とすると、

__gc ポインタ 'System::String __gc *' に大してポインタ演算ができません。というエラーがでます。


最近はじめたばかりなので、意味不明です。

どなたかわかるかたおられましたら、よろしくです。


環境:WinXP Home SP2 言語:VC++ .NET 2003

編集 削除
Blue  2005-09-06 14:01:39  No: 58890  IP: 192.*.*.*

> this->textBox->Text += 1; とすると、
this->textBox->Text は文字列型(System::String*型)です。
ところが 1 は数値型ですので、型が違う足し算が出来ないようになっているようです。

this->textBox->Textの文字列が数値のみで出来ているならば、
一度それを数値に変換し、+1してから、再度文字列に変換して設定してあげると出来そうです。

// 文字列を数値に変換し+1
System::Int32* n = System::Int32::Parse( this->textBox->Text ) + 1;
// 数値も文字列に変換
this->textBox->Text = n->ToString();

※実行していない(というか実行環境がない)のであっている保障はないですが、大体こんな感じです。

編集 削除
Natoh  2005-09-06 14:39:18  No: 58891  IP: 192.*.*.*

ありがとうございました。

String型になっているのはわかったのですが、

Stringをint型にする方法がわからなくて・・・

自分で調べたいのですが、検索ワードがわからなくて・・・

VC++ .NETの書籍も少ないので、どうしようかと思っていました。

GotDotNetのhttp://www.gotdotnet.com/japan/student/column/firststep/firststep7.aspx
で勉強しています。VC#.NETを使ってありますが・・・。


本当に、ありがとうございました。

編集 削除
Natoh  2005-09-06 14:39:55  No: 58892  IP: 192.*.*.*

解決ボタンを押し忘れました。

申し訳ありません。

編集 削除
Blue  2005-09-06 14:46:44  No: 58893  IP: 192.*.*.*

> GotDotNetのhttp://www.gotdotnet.com/japan/student/column/firststep/firststep7.aspx
では、System::Convert::ToInt32を使っているようですが。。。

MSDNでC#の関数を調べると、C++ではどう書くのかたまにサンプルが乗っています。
System::Convert::ToInt32(String)
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpref/html/frlrfSystemConvertClassToInt32Topic13.asp
System::Int32::Parse(String)
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpref/html/frlrfSystemInt32ClassParseTopic1.asp

編集 削除
Natoh  2005-09-06 22:54:50  No: 58894  IP: 192.*.*.*

それは知りませんでした。

> MSDNでC#の関数を調べると、C++ではどう書くのかたまにサンプルが乗っています。
そうなんですか。

MSDN,すごいですね。

本当に、ありがとうございます!

編集 削除