4D v16.3

ST INSERT EXPRESSION

ホーム

 
4D v16.3
ST INSERT EXPRESSION

ST INSERT EXPRESSION 


 

ST INSERT EXPRESSION ( {* ;} object ; expression {; startSel {; endSel}} ) 
引数   説明
演算子 in 指定時: object はオブジェクト名(文字列) 省略時: object は変数またはフィールド
object  Object in オブジェクト名( * 指定時)、または変数やフィールド( * 省略時)
expression  テキスト in 挿入したい4D式と(任意の)フォーマット
startSel  倍長整数 in 選択範囲の開始地点
endSel  倍長整数 in 選択範囲の終了地点

説明   

ST INSERT EXPRESSIONコマンドは、object 引数で指定したスタイル付テキストフィールドまたはテキスト変数内に、4D 式への参照を挿入します。

任意の * 演算子を渡した場合、 object 引数でオブジェクト名を文字列で指定します。省略時には object 引数でフィールドまたは変数を指定します。

expression 引数には、オブジェクト内にて評価したい4D式を渡します。有効な4D式とは、値を返す文字列です。expression 引数には、フィールド、変数、4Dコマンド、値を返す宣言、プロジェクトメソッド等を指定することができます。

4D式は、引用符("")で囲まれている必要があります。

注: expression 引数にピクチャ型の変数を渡すことはできません。

expression で指定した4D式から返ってきた値がキャリッジリターンとタブを含んでいた場合、4D式が入っているオブジェクトに合わせてそのテキストを表示します。例えばこのとき、キャリッジリターンは改行として扱われます。

expression 引数に、任意のフォーマット情報を渡すことによって、4D式のフォーマット形式を指定することが出来ます。この場合、以下の書式で指定する必要があります:

"String(value;format)"

value 引数には4D式そのものを渡し、 format 引数には適用したい書式を渡します。format には以下のどれかを指定することができます:

  • 数字に対しては、(存在するかしないかに関わらず)いかなる表示形式も指定することができます。例えば、 "###,##" のような形です。
  • 日付に対しては、存在する日付のフォーマットを指定する数字を渡すことができます。このとき、 "Date Display Formats" テーマ内にある定数(System date short 等)を使用することができます。
  • 時刻に対しては、存在する時刻のフォーマットを指定する数字を渡すことができます。このとき、 "Time Display Formats" テーマ内にある定数(System time short 等)を使用することができます。

例えば、以下の様な形になります:

 "String([Table_1]Field_1;System date short)"

特に何も指定しなければ、 expression の がマルチスタイルテキストエリアに表示されます。また、 ST SET OPTIONS コマンドを使用することによって強制的に参照を表示させることもできます。

任意の startSel 引数と endSel 引数はobject 内のテキストの選択範囲を指定します。 startSelendSel は標準テキストのみをカウントし、スタイルタグは文字数としてはカウントされません。参照は一文字としてカウントされるということに注意して下さい。

  • startSel のみを指定した場合、式の結果が指定された位置に挿入されます。
  • startSelendSel の両方を省略した場合、式の結果がカーソルの位置に挿入されます。
  • startSelendSel の両方を渡した場合、 ST INSERT EXPRESSION コマンドは指定された範囲内のテキストを expression からの結果で置換します。endSel の値がobject 内の総文字数より大きい場合は、 startSel の位置からテキストの終わりまでの全てのテキストが expression からの結果で置換されます。

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である場合を除く)。

例題  

選択したテキストをプロジェクトメソッドの結果で置き換える場合を考えます:

 ST INSERT EXPRESSION(*;"myText";"MyMethod";ST Start highlight;ST End highlight)



参照 

ST FREEZE EXPRESSIONS
ST Get expression
ST INSERT URL

 
プロパティ 

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

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

 
履歴 

初出: 4D v14

 
ARTICLE USAGE

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