15番会議室「FAQ編纂委員会」に寄せられた「よくある質問の答え」
[Q]
DBEditでテーブル上の定義よりも少ない文字数で入力制限を行いたいの
ですが?
たとえば、テーブル上ではField1がString型で20文字だが、フォーム上
では 場合によって10文字までしか入力できないようにしたい。
MaxLengthプロパティを変更しても、必ずフィールドの長さに再設定され
るようです。
[A]
DBEditのMaxLengthはDelphiがテーブル上の定義長に合わせて内部で自動
的に設定されるため、これを変更しても無効になってしまいます。
一番確実にこれを変更するには、DBEditのOnChangeイベントを利用します。
例を参照してください。
[例]
DBEditのOnChangeイベントに、下記のようにコーディングします。
(Sender As TDBEdit).MaxLength := 10; //10文字分
又、OnChangeイベントを複数のDBEditで共有して、Tagプロパティに
文字数を設定しておき、これを利用する方法が取れます。
(Sender As TDBEdit).MaxLength := (Sender As TDBEdit).Tag;
ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum FDELPHIに寄せられる質問の中から、よくある質問への回答を FDELPHIのメンバーがまとめたものです。 したがって、これらの回答はボーランド株式会社がサポートする公式のものではなく、掲示されている内容についての問い合わせは受けられない場合があります。
Copyright 1996-1998 Delphi Users' ForumFAQ編纂委員会
|