メインコンテンツまでスキップ
バージョン: 20 R7 BETA

ST Get plain text

ST Get plain text ( {* ;} object {; refMode} ) -> 戻り値

引数説明
*演算子指定時: objectはオブジェクト名 (文字)
省略時: objectは変数またはフィールド
objectanyオブジェクト名 (* 指定時) または
テキストフィールドまたは変数 (* 省略時)
refModeIntegerMode for handling references found in the text
戻り値Textタグなしのテキスト

このコマンドはスレッドセーフではないため、プリエンプティブなコードには使えません。

説明

ST Get plain text コマンドは**object*引数で指定したテキスト変数やフィールドからスタイルタグを取り除き、プレーンテキストを返します。

オプションの * 引数を渡した場合、object引数にはオブジェクト名 (文字列) を渡します。コマンド実行時にオブジェクトにフォーカスがある場合、コマンドは編集中のオブジェクトに関する情報を返します。他方オブジェクトにフォーカスがない場合、コマンドはオブジェクトのデータソース (フィールドや変数) に関する情報を返します。
* 引数を省略した場合、object 引数にはフィールドや変数を指定します。この場合文字列ではなくフィールドまたは変数への参照を渡します。コマンドはこのフィールドや変数に関する情報を返します。

任意の refMode 引数は、 object 内で見つかった参照の返し方を指定します。refMode 引数には、 "Multistyle Text" テーマ内にある以下の定数のどれかを渡して下さい(定数は一つ、または複数組み合わせて渡す事ができます):

定数コメント
ST 4D Expressions as sources倍長整数24D式参照のオリジナルの文字列が返されます。
ST 4D Expressions as values倍長整数14D 式参照は評価された形で返されます(フォーム内のデフォルトの動作)。
ST References as spaces倍長整数0それぞれの参照は、ノンブレークスペース文字として返されます(他のコマンドで使用されるデフォルトの動作)
ST Tags as plain text倍長整数64タグのラベルは標準テキストとして返されます。例えば、'picturemy picture'というタグの標準テキストは "my picture" となります(フォームでのデフォルトの動作)。
ST Tags as XML code倍長整数128XMLのコードは標準テキストとして返されます。例えば、'picturemy picture'というタグの標準テキストは 'picturemy picture' となります。
ST Text displayed with 4D Expression sources倍長整数86テキストは、4D式のオリジナルの文字列とともに、表示されたままの状態が返されます。
既定済みの定数の組み合わせの 2+4+16+64 に対応します。
ST Text displayed with 4D Expression values倍長整数85テキストは、4D式が評価された形で、フォームで表示されたままの形で返されます。
既定済みの定数の組み合わせの 1+4+16+64 に対応します。
ST URL as labels倍長整数4「こちらのサイトまでどうぞ」といったようなURLの表示ラベルが返されます(フォームのデフォルトの機能)
ST URL as links倍長整数8"http://www.4d.com" のようにリンクが返されます。
ST User links as labels倍長整数16ユーザーリンクの表示ラベルが返されます(フォームのデフォルトの機能)
ST User links as links倍長整数32ユーザーリンクの中身が返されます。

**Note: 標準テキストに関しては、 refMode 引数にどの値を渡しても(どのモードで扱っても)変化はありません。言い換えると、 refMode を使って違いが現れるのはテキストに参照が含まれていた場合のみです。

例題 1

マルチスタイル付きのテキストフィールドからテキスト"very nice"を探します。値は以下のような形式で保存されています: "The weather is very nice today".

 QUERY BY FORMULA([Comments];ST Get plain text([Comments]Weather)="@very nice@")

Note: このコンテキストでは、スタイルタグがテキストに含まれるため、以下のコードでは期待通りの結果が得られません:

 QUERY([Comments];[Comments]Weather="@very nice@")

例題 2

"MyArea" というマルチスタイルエリア内に以下の様なテキストが入っている場合:

It is now   Go to the 4D site or Open a window

このテキストは以下の様に表示されます:

以下は、あるコードを実行した場合とそれぞれに対して返ってくる値です:

 $txt :=ST Get plain text(*;"myArea";ST References as spaces)
  // $txt = "It is now    or " (spaces)
 $txt :=ST Get plain text(*;"myArea";ST 4D Expressions as values)
  // $txt = "It is now 15:48:19  or  "
 $txt :=ST Get plain text(*;"myArea";ST 4D Expressions as sources)
  // $txt = "It is now Current time  or  "
 $txt :=ST Get plain text(*;"myArea";ST URL as links)
  //$txt = "It is now   http://www.4d.com or  "
 $txt :=ST Get plain text(*;"myArea";ST Text displayed with 4D Expression values)
  //$txt = "It is now 15:48:19 Go to the 4D site or Open a window"
 $txt :=ST Get plain text(*;"myArea";ST Text displayed with 4D Expression sources)
  //$txt = "It is now Current time Go to 4D site or Open a window"
 $txt :=ST Get plain text(*;"myArea";ST User links as labels)
  //$txt = "It is now    or Open a window"
 $txt :=ST Get plain text(*;"myArea";ST User links as links)
  //$txt = "It is now    or openW"

システム変数およびセット

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

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

参照

ST Get text
ST SET PLAIN TEXT
ST SET TEXT
TEXT TO ARRAY