textBox->Textの演算

解決


Natoh  2005-09-06 22:44:19  No: 58889

はじめまして。Natohです。

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

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

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

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

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


Blue  2005-09-06 23:01:39  No: 58890

> 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 23:39:18  No: 58891

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

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

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

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

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

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

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


Natoh  2005-09-06 23:39:55  No: 58892

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

申し訳ありません。


Blue  2005-09-06 23:46:44  No: 58893

> 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-07 07:54:50  No: 58894

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

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

MSDN,すごいですね。

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


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加