Editのキー入力制限をするには?

解決


初心者  2003-11-02 01:09:59  No: 5563  IP: [192.*.*.*]

初心者ですが,よろしくおねがいします.

Editへのキー入力を数字のみ(Int型,Float型の二つ)に制限したいのですが・・
参考HPなど教えてくれれば幸いです.(探しましたが,見つかりませんでした・・)
ご教授よろしくお願いします.

編集    削除
イシイ  2003-11-02 03:02:09  No: 5564  IP: [192.*.*.*]

ここでお世話になっているので、お返しに私の知識の範囲で。
いくつか方法がありますが、私は、
TEditのOnKeyPressで
if (Pos(Key,'0123456789')=0) then //数字が見つからなかったら
  begin
    Key := #0; //無視する
  end;
この場合、Enter(#13),BS(#8)等も使用不能になりますので、使用する場合はif文に入れてください。
なお、TEditは左詰めなので、数字を入力には数字入力専用のコンポの使用をお勧めします。私はSaNumEditを使わせて頂いていますが、大変優れています。

編集    削除
初心者  2003-11-04 23:46:00  No: 5565  IP: [192.*.*.*]

and (Ord(Key) <> VK_BACK)
をif文に入れて,バックスペースも受け付けられるようになりました!
ありがとうございました

編集    削除