私はDelphi 7で作業しており、小数点を入力できる編集ボックスを作ろうとしています。
これは、TCurrencyEdit以外では、Delphi 7のベースライブラリには何も表示されません。ただし、値の先頭には$
がついています。とにかくこの "機能"を取り除くには?
私はDelphi 7で作業しており、小数点を入力できる編集ボックスを作ろうとしています。
これは、TCurrencyEdit以外では、Delphi 7のベースライブラリには何も表示されません。ただし、値の先頭には$
がついています。とにかくこの "機能"を取り除くには?
(あなたは普通のTEdit
で小数点を入力することはできません?)
私の知る限りでは、VCLにはTCurrencyEdit
は、Delphi(任意のバージョン)に付属していることはありません。とにかく、このためにTMaskEdit
を使用することができます。おそらくフォーマットは#999999999.99;1;_
でしょう。それでも、私はユーザーフレンドリーのためにこのソリューションを賞賛しません!
私が考えている最も使いやすいものは、通常のTEdit
を制限なしで使用することです。その後、必要なときにユーザーが入力したテキストを解析できます。そして、1 000
のような入力だけでなく、1000
と1000.00
のような入力を受け入れることができます。ローカルの小数点記号を尊重し、1000,00
(スウェーデンなど)を受け入れることもできます。
[ただし、あいまいさがないことを確認してください。 ] 1000,000
と入力して1000 kronorと000оreに等しいと考えると、ユーザーは動揺してしまいます。]
構文解析に 'DecimalSeparator'と' ThousandSeparator'グローバル変数を使用して、ユーザが '、'で何を意味したのかを知ることができます。 –
また、入力中にユーザー入力をキャッチし、TEditのキーイベントを使用して、特定の文字が最初に入力されるのを拒否することもできます。これに関する詳細はGoogleで見つけることができます。 –
これはデルファイと仕事をしてからしばらく経っています:それを削除するために操作できる編集マスクプロパティはありますか? –
私が知る限り、 'TCurrencyEdit'はthirdpartyコンポーネントです。 – RRUZ
私はスタブを取って、CurrencyToStrを使用していると言っていますが、デフォルトでは、sysutilsのCurrencyStr Format設定の結果を前に置くことにして、それを設定して何が起こるかを調べることができます。 –