2011-12-16 19 views
0

私はDelphi 7で作業しており、小数点を入力できる編集ボックスを作ろうとしています。

これは、TCurrencyEdit以外では、Delphi 7のベースライブラリには何も表示されません。ただし、値の先頭には$がついています。とにかくこの "機能"を取り除くには?

+0

これはデルファイと仕事をしてからしばらく経っています:それを削除するために操作できる編集マスクプロパティはありますか? –

+4

私が知る限り、 'TCurrencyEdit'はthirdpartyコンポーネントです。 – RRUZ

+0

私はスタブを取って、CurrencyToStrを使用していると言っていますが、デフォルトでは、sysutilsのCurrencyStr Format設定の結果を前に置くことにして、それを設定して何が起こるかを調べることができます。 –

答えて

7

(あなたは普通のTEditで小数点を入力することはできません?)

私の知る限りでは、VCLにはTCurrencyEditは、Delphi(任意のバージョン)に付属していることはありません。とにかく、このためにTMaskEditを使用することができます。おそらくフォーマットは#999999999.99;1;_でしょう。それでも、私はユーザーフレンドリーのためにこのソリューションを賞賛しません!

私が考えている最も使いやすいものは、通常のTEditを制限なしで使用することです。その後、必要なときにユーザーが入力したテキストを解析できます。そして、1 000のような入力だけでなく、10001000.00のような入力を受け入れることができます。ローカルの小数点記号を尊重し、1000,00(スウェーデンなど)を受け入れることもできます。

[ただし、あいまいさがないことを確認してください。 ] 1000,000と入力して1000 kronorと000оreに等しいと考えると、ユーザーは動揺してしまいます。]

+2

構文解析に 'DecimalSeparator'と' ThousandSeparator'グローバル変数を使用して、ユーザが '、'で何を意味したのかを知ることができます。 –

+0

また、入力中にユーザー入力をキャッチし、TEditのキーイベントを使用して、特定の文字が最初に入力されるのを拒否することもできます。これに関する詳細はGoogleで見つけることができます。 –

関連する問題