4D v16.3

ST SET TEXT

ホーム

 
4D v16.3
ST SET TEXT

ST SET TEXT 


 

ST SET TEXT ( {* ;} object ; newText {; startSel {; endSel}} ) 
引数   説明
演算子 in 指定時: objectはオブジェクト名 (文字) 省略時: objectは変数またはフィールド
object  フォームオブジェクト in オブジェクト名 (* 指定時) または フィールドまたは変数 (* 省略時)
newText  テキスト in 挿入するテキスト
startSel  倍長整数 in テキスト選択開始位置
endSel  倍長整数 in テキスト選択終了位置

説明   

ST SET TEXT コマンドはobject引数で指定されたスタイル付きのフィールドや変数に、 newText引数で渡されたテキストを挿入します。 このコマンドはobject引数のプレーンテキストにのみ適用され、含まれるスタイルタグは更新しません。このコマンドはスクリーンに表示されているスタ イル付きテキストをプログラムで変更するために使用できます。

 

オプションの * 引数を渡した場合、object引数にはオブジェクト名 (文字列) を渡します。コマンド実行時にオブジェクトにフォーカスがある場合、コマンドは編集中のオブジェクトにのみ適用され、(フィールドや変数などの) データソースには適用されません。変更がソース (およびこの同じソースを使用する他のオブジェクト) に転送されるのは、フォーカスが外れるかEnterキーが押されて、オブジェクトへの編集が有効化された場合のみです。オブジェクトにフォーカスがない場合、コマンドは直接データソースに適用され、変更は即座に同じソースを使用する他のオブジェクトに転送されます。
* 引数を省略した場合、object 引数にはフィールドや変数を指定します。この場合文字列ではなくフィールドまたは変数への参照を渡します。コマンドは直接データソースに適用され、変更は即座に同じソースを使用する他のオブジェクトに転送されます。

 

newTextには挿入するテキストを渡します。ST SET TEXTコ マンドは<SPAN>型のタグを含むリッチ (マルチスタイル) テキスト挿入するために使用します。他のすべてのケース、特に<や>、&を含むプレーンテキストの場合、 ST SET PLAIN TEXT コマンドを使用しなければなりません。ST SET TEXTコマンドに < や >、& を含むプレーンテキストを渡すと、コマンドは何も行いません。これは"a>b"のようなテキストをエンコードしないでリッチテキストに挿入すると、 内部的な<SPAN>タグの解析が妨げられるからです。この場合">"文字は"&gt;"にエンコードされなければな りません。これはST SET PLAIN TEXTにより自動で行われます (このコマンドの例題参照)。

オプションのstartSelendSel引数を使用して、object中のテキストを選択できます。startSelendSelの値はプレーンテキストの選択に使用され、テキスト中のスタイルタグは無視されます。このコマンドの動作はオプションのstartSelendSel引数に基づき変わります:

  • startSelendSelを省略すると、ST SET TEXTobjectのすべてのテキストをnewTextで置き換えます。
  • startSelのみを渡した場合、またはstartSelendSelが同じ場合、ST SET TEXTnewTextテキストをobjectstartSelの位置に挿入します。
  • startSelendSel両方渡した場合、ST SET TEXTはこれらの引数で指定されたプレーンテキストをnewTextテキストで置き換えます。
  • endSelに0をセットすることで、自動的にテキストの最後を指定(startSelに1をセットすることでテキストの最初を指定)できます。

4D では、選択範囲を自動的に指定するために startSel 引数と endSel 引数に渡す定数を提供しています。これらの定数は "Multistyle Text" テーマ内にあります。

定数 コメント
ST End highlight 倍長整数 -1001 オブジェクト内のカレントのテキストセレクションの最後の文字を指定します(*)
ST End text 倍長整数 0 オブジェクトに含まれるテキストの最後の文字を指定します。
ST Start highlight 倍長整数 -1000 オブジェクト内のテキストのカレントセレクションの最初の文字をを指定します (*)
ST Start text 倍長整数 1 オブジェクト内に含まれるテキストの最初の文字を指定します。

(*) この定数を使用する際には、 object 引数にオブジェクト名を渡す必要があります。フィールドへの参照または変数を渡した場合、コマンドはオブジェクト内の全てのテキストに適用されます。

注: もし startSel 引数が endSel 引数より大きい場合、コマンドは何も行わず、OK変数は0に設定されます。(ただし endSel が0である場合を除く)

このコマンド実行後、エラーがなければOKシステム変数に1が設定されます。そうでなければ0が設定されます。これは特にスタイルタグが正しく評価できなかった場合に発生します (正しくない、あるいは失われたタグ)。

エラーの場合、変数は変更されません。テキストが評価される際に変数にエラーが発生すると、4Dはテキストをプレーンテキストに変換します。結果、"<"、">"、"&"文字はHTML実体参照に変換されます。

リッチテキストエリア中でユーザーが選択したテキストを変数の内容で置き換えます。

選択されたテキストは以下の通りです:

フィールドには以下のテキストが格納されています:

以下のコードを実行すると:

 vtempo:="Demonstration"
 GET HIGHLIGHT([Products]Notes;vStart;vEnd)
 ST SET TEXT([Products]Notes;vtemp;vStart;vEnd)

フィールドの表示およびその内容は以下のようになります:

ST SET PLAIN TEXTコマンドの例題を参照してください



参照 

ST Get plain text
ST Get text
ST SET PLAIN TEXT

 
プロパティ 

プロダクト: 4D
テーマ: スタイル付きテキスト
番号: 1115

このコマンドはOKシステム変数を更新します

 
履歴 

初出: 4D v12
変更: 4D v12.1
名称変更: 4D v14

 
ARTICLE USAGE

ランゲージリファレンス ( 4D v16)
ランゲージリファレンス ( 4D v16.1)
ランゲージリファレンス ( 4D v16.2)
ランゲージリファレンス ( 4D v16.3)