• ベストアンサー

C++ Builder6について

c++ builder6でMemo1 などに入力した値をポインタに格納したいんですが、やり方がうまくいかず、いろいろ試してみても出来ません。どなたか方法を教えてくださいませんか?

質問者が選んだベストアンサー

  • ベストアンサー
noname#57148
noname#57148
回答No.2

 入力した文字列は、この場合Memo1->TextにAnsiString型で格納されていると思います。実際、この値をfloatの値やintの値に変換する為の関数というものも実装されていて、具体的には以下の様にやります。 f=StrToFloat(Memo1->Text); i=StrToInt(Memo1->Text);  この様な関数が実装されていればそれで実行出来ますが、どちらにしても、自分で実装する方が手っ取り早いかと思います。アドレスといっても固定長の十六進数なので、文字列を基にした十六進数を計算して、その数値を返す関数を実装します。それを呼び出し側でキャストして使ったらよいのではないでしょうか?Cでのmalloc関数を使うイメージです。 double *a; x=(double *)StrToAdress(Memo1->Text);  こんな感じで実装できそうじゃないですか?自分でやってみたわけではないので、参考程度の意見としてとらえて下さい^^;)

nkonnkon
質問者

お礼

ありがとうございます。早速試してみます。的確なアドバイスありがとうございました。

その他の回答 (1)

  • koko_u_
  • ベストアンサー率18% (459/2509)
回答No.1

うん。ポインタ変数にはアドレス値しか格納できないからね。

nkonnkon
質問者

補足

どうしたらよいでしょうか?

関連するQ&A