4D v17

WP New

ホーム

 
4D v17
WP New

WP New 


 

WP New {( source )} -> 戻り値 
引数   説明
source  文字, BLOB, Object in 文字列: 4D HTML ソース
BLOB: 4D Write Blob ドキュメント(.4w7/.4wt) あるいは4D Write Pro ドキュメント(.4wp)
Object: 4D Write Pro レンジあるいは要素参照
戻り値  Object in 4D Write Pro オブジェクト

説明   

WP New コマンドは4D Write Pro オブジェクトを作成して返します。

source 引数を省略した場合、コマンドはデフォルトで空の4D Write Proオブジェクトを返します。

source 引数を使用した場合、新しい4D Write Pro オブジェクトはsource 引数の中身をコンテンツとして返されます。渡せる内容は以下の通りです:
  • 文字列 の引数: この場合、4D HTMLソースを渡します。つまり、wk web page html 4D オプションを使用したWP EXPORT VARIABLE で書き出されたテキストです。このテキストは参照(4Dタグと式)と埋め込まれた画像を含むことができます。
  • blob 引数: この場合、いかのどちらかを渡す事ができます:
    • BLOBに保存された4D Write Pro(.4wp)フォーマットドキュメント。
      4D Write Proドキュメントフォーマットの詳細については、.4wp ドキュメントフォーマット を参照して下さい。
    • BLOBに読み込まれている以前の4D Writeエリア(.4w7 または .4wt を含んだBlobがサポートされます)。
      4D Write Proオブジェクト内で現在サポートされている4D Writeの機能の詳細な一覧については、4D Write ドキュメントの読み込み の章を参照して下さい。
    ディスク上に保存されている4D Write ドキュメント(.4w7 or .4wt) を読み込みたい場合、WP Import document コマンドの使用も検討してみて下さい。
  • object 引数: この場合、以下のいづれかを渡します。
    • レンジ。
      この場合、WP New は指定したレンジから作成した新規ドキュメントを返します。指定レンジがドキュメントの全レンジでない場合、最初のセクションだけが書き出され、ブックマークなどが存在する場合には、これらは書き出されないという点に注意してください。
    • 要素(テーブル/行/段落/インラインピクチャー/ヘッダー/フッター)参照
      ヘッダーあるいはフッターの参照オブジェクト(WP Get header および WP Get footer参照)。
      この場合、WP New は要素の参照のみを本文部分に含んだ新しいドキュメントを返します(行の場合、ドキュメントにはその行を含んだテーブル要素が格納されます)。

返されるオブジェクトは、例えば WP INSERT DOCUMENT コマンドに受け渡し可能な、完全なドキュメントです。

空の4D Write Proオブジェクトを作成したい場合を考えます:

 myWPObject:=WP New

ディスク上に保存されている4D Write Pro ドキュメントから新しい4D Write Pro オブジェクトを作成します:

 C_BLOB($BlobDoc)
 C_OBJECT(myWPArea)
 DOCUMENT TO BLOB("myDoc.4wp";$BlobDoc//ドキュメントをBlobに読み込む
 myWPArea:=WP New($BlobDoc)

簡単な4D式の参照を含んだ4D Write Proオブジェクトを作成したい場合を考えます:

 C_TEXT(myText)
 myText:="Today is "
 ST INSERT EXPRESSION(myText;"string(current date;System date long)";ST End text)
 myWPA:=WP New(myText)

以前作成したテンプレートを使用して4D Write Proエリアを初期化したい場合を考えます:

  //既存のエリアからテンプレートを書き出し
 C_TEXT(wpTemplate)
 WP EXPORT VARIABLE(myWPArea;wpTemplate;wk web page html 4D)
 
  // 新規エリアに対してテンプレートを使用
 C_OBJECT(myNewWPA)
 myNewWPA:=WP New(wpTemplate)

旧4D Write ブラグインのカレントレコードのBLOB フィールドに保存されているドキュメントを、新しい4D Write Proエリア内に読み込みたい場合を考えます:

 C_OBJECT(wpArea)
 wpArea=WP New([Templates]Reference_)

あらかじめフォーマットされ、それぞれがブックマークとして保存された複数のパーツで構成された、テンプレートドキュメントを定義しました。このテンプレートから任意のブックマークを新規ドキュメントとして抽出し、作成中のドキュメントに挿入することができます。

 ARRAY TEXT($_BookmarkNames;0)
 WP GET BOOKMARKS([TEMPLATES]WP;$_BookmarkNames// テンプレートからブックマークを取得します
 $targetRange:=WP New //空のドキュメントを作成(これが最終的なドキュメントになります)
 
 $p:=Find in array($_BookmarkNames;"Main_Header") // 使用したいブックマークを名称で探します
 If($p>0)
    $Range:=WP Get bookmark range(WParea;$_BookmarkNames{$p}) // ブックマークからレンジを取得します
    $RangeDoc:=WP New($Range// レンジから新規ドキュメントを作成します
    WP INSERT DOCUMENT($targetRange;$RangeDoc;wk append+wk freeze expressions// wk append = $RangeDocドキュメントは $targetRange の先頭に挿入されます
 End if



参照 

WP Import document
WP INSERT DOCUMENT

 
プロパティ 

プロダクト: 4D
テーマ: 4D Write Proランゲージ
番号: 1317

This command can be run in preemptive processes

 
履歴 

初出: 4D v14 R5
変更: 4D v15 R2
変更: 4D v16
変更: 4D v16 R5

 
ARTICLE USAGE

4D Write Proリファレンス ( 4D v17)