C++ Builder5において、Editコンポーネントで得たデータ(AnsiString)をshortもしくは、floatに変換したいのですが、どうすればよろしいでしょうか。

御教示頂きますよう宜しくお願い致します。

A 回答 (3件)

Edit1->Text = (short)123;


Edit1->Text = 456.789f;

のように単純に代入すればいいのでは?

ヘルプの AnsiString::operator= には、const AnsiString& 以外の引数については書かれていないようですね・・・なんでだろ?
    • good
    • 0

AnsiString に変換できれば良いですか?



AnsiString s;
float f;

s.sprintf("%f", f);

とか

short i;

s.sprintf("%d", i);

とか。

# いや、実は BCB ってあんまり知らないんです :-p
    • good
    • 0

AnsiString クラスには、ToInt()、ToDouble() というメソッドがあり、


それぞれ整数、実数を返してくれます。

例えば、

AnsiString str;
float f;

f = (float)str.ToDouble();

って感じですね。

# マニュアルを見れば分かりますよ

この回答への補足

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

逆に、shortもしくは、floatをEditコンポーネントに表示する場合、どのように型変換すればよろしいでしょうか。

御教示頂きますよう宜しくお願い致します

補足日時:2002/03/08 19:27
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qその文字ごとに変換する事はできないのでしょうか?

例えば~やサイ(動物の)と入力する時に単にやさいと
入力して変換するとどうしても野菜等の漢字にしか変換されません
まあこれは象やサイのように前後になんらかの文字をはさめば0で変換はできるのですが
長文の場合ひらがなかカタカナにしか変換されないものがたまにあります
これらを一文字あるいは二文字等に限定して変換させる事はできないのでしょうか?
つまり通常10文字中5文字単位でしか変換できないが1・2文字で変換する事は
できないか?という事です
できればマウスは使わずにキーボードだけで
分かりにくくてすいません
回答お願いします

Aベストアンサー

たぶん、これのことではないかと思いますが、

文字の変換中に、
「Shift」キーを押しながら「←」「→」キーで
変換範囲を変更できると思います。

「やさい」の場合は変換範囲を上記の方法で「や」だけに変更して、
その後「→」キーで「さい」の部分に移動(ただの移動なので「Shift」キーははなす)
して変換すればできると思います。

お試しください。

QC++ Builder6について

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

Aベストアンサー

 入力した文字列は、この場合Memo1->TextにAnsiString型で格納されていると思います。実際、この値をfloatの値やintの値に変換する為の関数というものも実装されていて、具体的には以下の様にやります。

f=StrToFloat(Memo1->Text);
i=StrToInt(Memo1->Text);

 この様な関数が実装されていればそれで実行出来ますが、どちらにしても、自分で実装する方が手っ取り早いかと思います。アドレスといっても固定長の十六進数なので、文字列を基にした十六進数を計算して、その数値を返す関数を実装します。それを呼び出し側でキャストして使ったらよいのではないでしょうか?Cでのmalloc関数を使うイメージです。

double *a;
x=(double *)StrToAdress(Memo1->Text);

 こんな感じで実装できそうじゃないですか?自分でやってみたわけではないので、参考程度の意見としてとらえて下さい^^;)

QVistaで、誤変換や変換できないものがある

ここ最近、Windows Vista標準ので、
誤変換や文やフクスウの変換ができなくなってます。
普通の変換すらできない言葉もでてきてます。
今も2行目の「ふくすう」が変換できません。

発覚した変換できないもの(カナ変換しかできないもの)
こめんとらん=コメントラン
いか=イカ
いがい=イガイ
ふくすう=フクスウ
かいとう=カイトウ
しつもん=シツモン
おおい=オオイ
あやまる=アヤマル
ごへんかん=ゴヘンカン
おねがい=オネガイ
etc・・・・

あまりにもおおすぎて手におえません。
たまに「MicroSoft IME 誤変換」がどうとか警告がでてきます。
どうしたらなおるでしょうか?
アドバイスおねがいします。

Aベストアンサー

IME2007をお使いなら下記のURLを参照して修正プログラムをインストールされたらと思います。

IME 2007 変換精度、学習機能を改善した修正プログラムのご案内
http://www.microsoft.com/japan/office/2007/ime/fixmodule.mspx

QC++ Builder6 をふたたび動かしたい

数年前まで C++ Builder6を使ってコマンドラインプログラムを作っていました。
久しぶりに使おうとすると、以下のエラーメッセージがでて新規プログラムが作れません。再インストールをしても同じです。
C++ 5.5 がフリーで出ているようなんですが、元のプログラムが複数あって、Builderの環境で使いたいと思うのです。
すでにボーランド社はありません。
どのようにすれば解決できるのかわかれば教えてください。よろしくお願いします。

C:\Program Files\Borland\CBuilder6\bin\bcb.$$$ から C:\Program Files\Borland\CBuilder6\bin\bcb.droに変更できません。

Aベストアンサー

お使いのOS環境等が書かれていませんが、おそらくWindows 7 か Vista ですね。
Vista以降は UAC により C:\Program Files 以下への書き込みが出来なくなっていますので、
UAC をオフにするか、
C++ Builder を C:\Program Files 以外のフォルダにインストールしてみてください。

http://blog.livedoor.jp/sayama_it/archives/50925382.html

なお、C++ Builder は、今はエンバカデロ社が引き継いでいます。C++ Builder 6のインストールにはレジストレーション処理が必要ですが、今もC++Builder6の使用許諾登録処理も行っています。
http://www.embarcadero.com/jp/support

QVSODivxToDVD でDVDに変換できないAVIファイル

AVIファイルをDVDに変換するには、VSODivxToDVD を利用しています。ほとんどのAVIファイルは変換できますが、まれに変換できないものがあります。そのファイルは他のソフト、Avi2Dvd、AVI2ISO、DVD Flickで試してみてもできません。AVI2JPGで再出力しようとしてもできません。パソコンでは何の問題もなく再生できるので、何とかDVDに変換することができないものでしょうか?
それが可能なソフトや方法がありましたら教えて下さい。

Aベストアンサー

#2です。

・・・???
真空波動研の結果(ファイル名以降)はそれだけでしたか?

コンテナファイルの形式(まあAVIでしょうが)や音声コーデックがないですし、DivXのFourCCや、フレームレート、ビットレートが抜けてます。
48KHzというのは、音声のサンプリングレートだと思いますが、ビットレートが0(音声がない?)です。VBRというのは音声が可変ビットレートを採用しているということですが・・・

もし、真空波動研での確認内容がそれだけなら、変換に失敗したか、ファイルが壊れていて再生、変換できない、ということになると思いますよ。
再生は出来ましたか?

QC++Builder6 での複素数計算

C++builder6 で複素数計算が出来なくて困っています、
UNIT1.CPPのヘッダー部分に
 #include <vcl.h>
 #pragma hdrstop
 #include <iostream>
 #include <complex.h>
 #include "Unit1.h"
//-----------------------------
 #pragma package(smart_init)
 #pragma resource "*.dfm"
を書いて
イベントハンドラ部分に変数の宣言
  complex<double> z;
として緑色三角形の実行ボタンをクリックすると
  「未定義のシンボル complex」
と言うエラーが発生します、
この解決方法を教えて頂ければ幸いです、宜しくお願いします。
(なお C++builder5 では何の問題もなく複素数計算のソフトが出来ていました)
  

Aベストアンサー

> #include <complex>
> として試みましたが結果は同じでした。

std::complex<double> z; もダメ?

Qにち ←なぜ漢字に変換できないのでしょうか?

【ひ】は【日】に変換できるのに、
【にち】はなぜ【日】に変換できないのでしょうか???

Aベストアンサー

もしかして「に」と「ち」で分かれて変換されてしまうということではないでしょうか?
その場合「Shift+右矢印キー」で「にち」全体にフォーカス(?)をかけて再度変換すれば「にち」で変換できると思います。

上記でない場合は、あまりに基礎的なことを言ってしまいすみません。
私もだいぶ前(PC初心者の頃)ですが、「しゅつ」が「主津(しゅ+つ)」になってしまい、「出」が出ないと大騒ぎした経験があるものですから…

Qc++ builder6 PaintBoxについて

c++ builder6でpaintboxをつかって線などを書き込みましたが、クリアすることが出来ません。button1をクリックするたびに消したいのですがどうしたら良いのでしょうか?
どなたか教えてください。

Aベストアンサー

paintboxを使って線など書き込んだというのは、線でCanvas->MoveTo(x1, y1)で始点を定義し、Canvas->LineTo(x2, y2)で終点(x2, y2)に向かって線を引くなどということでしょうか。

Canvasは、上へ重ねて書くことしかできませんので、UNDOを行うは難しいと思います。もし、すべての描画した要素が重なることがなければ、背景色に戻すことで元に戻ります(線だったら、Pen->Colorを背景色にして、線を引きなおす)が、何かを描いた上に線が引いてあり、その線だけを消す場合には線を引く前の状態をコピーしておいて戻すことが必要になります。斜めの線の場合、かなり無駄な部分までコピーすることになるが矩形領域をコピーするか、面倒ですが線の通る周辺だけをコピーするかいずれかになると思います。サイズが分かりませんが、遅いマシンでは、このコピーの戻しに時間が掛かり画面の乱れが気になる場合もあるかもしれません。領域が大きい場合はかなり戻すのに時間が掛かる場合もあり、線が引かれる前の状態までゼロ(=背景色の設定)からやり直す方がいいかもしれません。

あまりお役に立てる回答ではないと思いますが、PaintBoxによる描画はこのようなものと私は理解しています。

paintboxを使って線など書き込んだというのは、線でCanvas->MoveTo(x1, y1)で始点を定義し、Canvas->LineTo(x2, y2)で終点(x2, y2)に向かって線を引くなどということでしょうか。

Canvasは、上へ重ねて書くことしかできませんので、UNDOを行うは難しいと思います。もし、すべての描画した要素が重なることがなければ、背景色に戻すことで元に戻ります(線だったら、Pen->Colorを背景色にして、線を引きなおす)が、何かを描いた上に線が引いてあり、その線だけを消す場合には線を引く前の状態をコピーしておい...続きを読む

Q漢字変換できないまま・・・

以前よりパソコンで漢字変換できなくなったトラブルを質問していましたが、多くの方に親切な回答を頂く事ができました。しかし結局どの方法を試しても元に戻る事はありませんでした。昨日リカバリーしましたがそれでも無理でした。なのでキーボードを買い換えようと考えています。しかしキーボードの故障かどうかがわからないので買い換える前にそれを確認する方法ってあるのでしょうか?(キーボードを変えても改善されないっていうパターンが嫌なので)
ちなみに症状としては、
・半角/全角キーで言語バーのカナ変換できない。
・スペースキーと変換キーが全く効かないので変換とスペースがあけられない。
・無変換キーでひらがなをカタカナには変換できる。
・ソフトキーボードでは変換できる。

宜しくお願い致します。

Aベストアンサー

kinkakutouさん 今日は!
済みません。
追加と訂正です。
>(キーボードを変えても改善されないっていうパターンが嫌なので)
質問者さんの内容を取り違えて居ました。ご免なさい!
正:
キーボードの故障ではなさそうです。
ポイントは、言語バーの設定です。
1:言語バーの「ツール」→「プロパティ」を選択し、画面の「標準に戻す」ボタンをクリックします。
2:前回回答のページで、基本設定します。
3:設定が終了したら、もう1度「プロパティ」で右上の「設定」アイコンをクリックし、画面の「キー設定」TABのキー一覧を確認します。
>・半角/全角キーで言語バーのカナ変換できない。
キーの半角/全角が、IMEオン/オフ(入力)以下項目は全て「-」。
半角/全角キーで言語バーは、立ち上げ時は「A」→「あ」の切替えになります。
>・スペースキーと変換キーが全く効かないので変換とスペースがあけ
>られない。
キーのスペースキーは、空白・全変換・変換+次・変換+次・文節変換
・全変換を確認します。
キーのシフト+スペースキーは、入力以外は半角空白を確認します。
これでIMEは修復可能です。
恐らくポイントの1で元に戻ると思います。

kinkakutouさん 今日は!
済みません。
追加と訂正です。
>(キーボードを変えても改善されないっていうパターンが嫌なので)
質問者さんの内容を取り違えて居ました。ご免なさい!
正:
キーボードの故障ではなさそうです。
ポイントは、言語バーの設定です。
1:言語バーの「ツール」→「プロパティ」を選択し、画面の「標準に戻す」ボタンをクリックします。
2:前回回答のページで、基本設定します。
3:設定が終了したら、もう1度「プロパティ」で右上の「設定」アイコンをクリックし、画面の...続きを読む

QC++BuilderのMemoコンポーネントについて

現在Memoコンポーネントに実行結果を出力するプログラムを作っているのですが、

Memoコンポーネントの編集を不可にすることはできるのでしょうか。

また、MemoコンポーネントにあらかじめLinesで書き込んでおいた文字列を選び、リンクのようなものを貼り、違うフォームを開くなんてことはできるのでしょうか。

初心者で簡単な質問かもしれませんが、よろしかったらアドバイスお願い致します。

Aベストアンサー

Memoコンポーネントを編集不可にするには
ReadOnlyというプロパティをtrueにします。


人気Q&Aランキング

おすすめ情報