ここは旧式の4DドキュメントWebサイトです。最新のアップデートされたドキュメントを読むには新サイトをご利用下さい→ developer.4d.com |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20 R7
Get edited text
|
Get edited text -> 戻り値 | ||||||||
引数 | 型 | 説明 | ||||||
戻り値 | テキスト |
![]() |
編集中のテキスト | |||||
Get edited textコマンドは、主にOn After Edit フォームイベントで入力中のテキストを取得するために使用します。またOn Before Keystroke および On After Keystroke フォームイベントで使用することもできます。これらのフォームイベントについてのより詳細な情報はForm event codeの説明を参照してください。
このコマンドとOn Before Keystroke または On After Keystroke フォームイベントの組み合わせは、以下の用に動作します:
一般的に、On After Keystroke イベントはOn After Edit イベントで置き換え可能である点に注意してください。後者の方がより多くの入力方法(IMEなど)をサポートしています。
これら二つのイベントは、関連するオブジェクトメソッド内でのみ生成されます。
フォームオブジェクト内のテキスト入力以外のコンテキストで使用された場合、このファンクションは空の文字列を返します。
以下のメソッドは、入力される文字を自動で大文字に変換します:
If(Form event code=On After Edit)
[Trips]Agencies:=Uppercase(Get edited text)
End if
以下はテキストフィールドへの文字入力をオンザフライで処理する例です。これは入力中の文のすべての単語を、"Words"という他のテキストフィールドに置くというアイデアに基づきます。これを実行するには、フィールドのオブジェクトメソッド内に下記のコードを記述します:
If(Form event code=On After Keystroke)
$RealTimeEntry:=Get edited text
PLATFORM PROPERTIES($platform)
If($platform#3) ` Mac OS
Repeat
$DecomposedSentence:=Replace string($RealTimeEntry;Char(32);Char(13))
Until(Position(" ";$DecomposedSentence)=0)
Else ` Windows
Repeat
$DecomposedSentence:=Replace string($RealTimeEntry;Char(32);Char(13)+Char(10))
Until(Position(" ";$DecomposedSentence)=0)
End if
[Example]Words:=$DecomposedSentence
End if
Note: この例題は、単語がスペース(Char(32))によって区切られていると仮定しているため、完全なものではありません。完全な解決法としては、すべての単語を抽出するように他のフィルタを付加する必要があります(カンマ、セミコロン、アポストロフィー等の区切り)。
プロダクト: 4D
テーマ: 入力制御
番号:
655
初出: 4D v6.5
ランゲージリファレンス ( 4D v20 R7)