4D v16.3FILTER KEYSTROKE |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
FILTER KEYSTROKE
FILTER KEYSTROKE
FILTER KEYSTROKE は、ユーザがフィールドや入力可エリアに入力した文字を、filteredChar に渡した文字列の最初の文字で置き換えます。 空の文字を渡すと、キーストロークはキャンセルされ無視されます。 通常FILTER KEYSTROKEはOn Before Keystrokeフォームイベントを処理するフォームメソッドあるいはオブジェクトメソッドで呼び出します。キーストロークイベントを検知するには、Form eventコマンドを使用します。実際のキーストロークを得るにはKeystrokeコマンドを使用します。 重要: FILTER KEYSTROKEコマンドはユーザが入 力した他の文字をキャンセルしたり置き換えたりすることを可能にします。他方特定のキーストロークに対し複数の文字を入力したい場合、スクリーン上に表示 されているテキストは、編集中のデータソースフィールドや変数の値にまだなっていないことに注意してください。データソースフィールドや変数にはデータ入 力が確定された後に値が代入されます。変数へのデータ入力を途中で取得し、この値を変更して、入力エリアに代入するのは開発者に任されています (この節の例題を参照)。 FILTER KEYSTROKE は以下の目的で使用できます:
警告: FILTER KEYSTROKEの後にKeystrokeコマンドを呼び出すと、実際に入力された文字の代わりにこのコマンドに渡された文字が返されます。 以下のコードを使用すると: ` myObject enterable area object method myObject エリアに入力されたすべての数字がアスタリスクに変換されます。 以下のコードはパスワード入力エリアを実装します。入力された文字はスクリーン上にランダムな文字で表示されます: ` vsPassword enterable area object method データ入力が確定されると、ユーザが実際に入力したデータはvsActualPasswordに格納されています。 Note: Handle keystroke メソッドはKeystrokeの節で紹介されています。 アプリケーションに文章を入力できる欄があります。またアプリケーションには辞書テーブルがあります。テキストエリア編集中に、テキストエリア中で選択された文字に基づき、辞書の内容を取り出して挿入したいとします。これを行うには2つの方法があります: この例題ではHelpキーを使用して、2つ目のソリューションを実装します。 上で説明した通り、テキストエリアの編集中、このエリアのデータソースにはデータ入力を確定した後に入力された値が代入されます。テキストエリア編 集中、辞書の内容を取り出してこのエリアに挿入するために、データ入力をシャドウする必要があります。最初の2つの引数として、この入力エリアとシャドウ 用の変数へのポインタを、3番目の引数として禁止文字を渡します。キーストロークがどのように取り扱われるにしても、メソッドは元のキーストロークを返し ます。禁止文字は入力エリアに挿入されず、特別に扱いたい文字のことです。 ` Shadow keystroke project method このメソッドは以下のサブメソッドを使用します: ` Delete text プロジェクトメソッド ` Insert text プロジェクトメソッド プロジェクトにこれらのメソッドを実装したのち、以下のように使用することができます: ` vsDescription 入力可エリアのプロジェクトメソッド LOOKUP DICTIONARYプロジェクトメソッドは以下のようなものです。このメソッドの目的はシャドウの変数を使用して検索を行い、編集中のエリアに再代入を行うことです: ` LOOKUP DICTIONARY プロジェクトメソッド Get highlighted text メソッド: ` Get highlighted text プロジェクトメソッド
参照
|
プロパティ
プロダクト: 4D
履歴
初出: 4D v6 ARTICLE USAGE
ランゲージリファレンス ( 4D v16) |
||||||||||||||||||||||||||||||||||||||||||||||||||||||