4D v16.3

4D Write から 4D Write Pro へドキュメントを変換

ホーム

 
4D v16.3
4D Write から 4D Write Pro へドキュメントを変換

4D Write から 4D Write Pro へドキュメントを変換    


 

4D Write Pro は、ほとんどのプロパティ情報をサポートしたまま、既存の 4D Writeドキュメントを開いて変換することができます。

上図では、左に 4D Write エリア、右に 4D Write Pro エリアを表示しています (新しいライブラリオブジェクトを使って作成 - 後述参照)。4D Write エリアの中身は WP New コマンドを使って簡単に変換することができます:

  // 4D Write エリアのコンテンツを 4D Write Pro に復元します。
 [WRITEAREAS]AreaNTWP:=WP New([WRITEAREAS]AreaNT_)

しかし、4D Write は 32-bit版の 4D v16 でのみ使用できることに注意が必要です。まず 4D Write ドキュメントを変換してから、64-bit に変換する必要があります。

4D Write と違い、4D Write Pro はプラグインではなく、4D に完全に統合されています。4D Write Pro には 4D Write と同じライセンスが使用されます。4D Write Pro を有効にするには、アプリケーションにこのライセンスをインストールする必要があります。

4D Write Proオブジェクトに 4D Writeドキュメントを取得する方法は二つあります:

  • ディスク上に保存されている 4D Write ファイルに関しては、WP Import document コマンドを使用します。4D Write ファイル(.4w6、.4w7、および.4wt - テンプレート)は4D Write Proファイル(.4wp)へと変換される必要があります。
      // まず、.4w6 ファイルを.4w7 ファイルへと、4D Write コマンドを使用して変換します。
     $offscreen:=WR New offscreen area
     WR OPEN DOCUMENT($offscreen;"myFile.4w6";"4WR6")
     WR SAVE DOCUMENT($offscreen;"myFile.4w7";"4WR7")
     WR DELETE OFFSCREEN AREA($offscreen)


      // 次に.4w7 を .4wp へと、4D Write Proコマンドを使用して変換します。
     C_OBJECT($docWritePro)
     $docWritePro:=WP Import document("myFile.4w7")
     WP EXPORT DOCUMENT($docWritePro;"myFile.4wp")
  • データファイルに格納されている 4D Write エリアに関しては、WP New コマンドを使用します。BLOBあるいはピクチャーフィールドに保存されている4D Write ファイルはオブジェクトフィールドへと移動させる必要があります。
      // ピクチャーフィールドからBLOBを経由して、オブジェクトフィールドへと移動
      // [DocWRITE]WritePictArea_ はピクチャーフィールド
      // $Blob は BLOB
      // [DocWRITE]WriteProArea はオブジェクトフィールド
     $offscreen:=WR New offscreen area
     WR PICTURE TO AREA($offscreen;[DocWRITE]WritePictArea_)
     $Blob:=WR Area to blob($offscreen;1)
     [DocWRITE]WriteProArea :=WP New($Blob)
     WR DELETE OFFSCREEN AREA($offscreen)


      // BLOB フィールドからオブジェクトフィールドへと移動
      // [DocWRITE]WriteBLOBArea_ は BLOB フィールド
      // [DocWRITE]WriteProArea はオブジェクトフィールド
     [DocWRITE]WriteProArea :=WP New([DocWRITE]WriteBLOBArea_)

互換性に関する注意:

  • サポートされるのは、4DWite ドキュメントのうち最後の世代 ("4D Write v7") のドキュメントに限られます。
  • 4D Write Proエリアにインポートできるオブジェクトや機能についての詳細は 4D Write のプロパティで復元されるもの を参照ください。
  • 4D Write ドキュメントから 4D Write Pro エリアへのコピー・ペーストは現時点ではサポートされていません。4D Writeドキュメントの読み込みは 4D Write Pro ランゲージコマンドの使用によってのみ可能です。
  • 4D Write Pro の機能は Windows において Direct2D に依存しています。必要となる Direct2D のバージョンを利用するため、Windows 7 または Windows Server 2008 のマシンでは "Windowsプラットフォーム更新プログラム" のコンポーネントがインストールされていることを確認してください。

4D v16 では、フォームエディターにて提供されている設定済オブジェクトのライブラリに 4D Write Pro フォームオブジェクトが新しく加わりました。このオブジェクトをフォーム上にドラッグ & ドロップすると、あらかじめ設定のされた 4D Write Pro エリアが挿入されます。このエリアには、コンテンツ操作用のコントロールパネルを持つ 4D Write Pro ウィジェットサブフォームも関連づいています:

         

詳細については 4D Write Pro エリア を参照ください。

データベースのストラクチャー内において、4D Write Proドキュメントを保存するのに4Dオブジェクトフィールドを使用することができます。
4D Write Proドキュメントを保存するためのオブジェクトフィールドを作成したら、あとは当該エリアを含んでいるフォーム内で参照するだけです。フォームエディターにて、4D Write Pro エリアのプロパティリストを開き、変数名の欄に標準の "[Table]Field" 表記でフィールド名を入力します:

   

これで4D Write Proエリアはオブジェクト型フィールドと関連付けされました。

以前のバージョンにおける 4D Write Pro ドキュメント内では、フィルタリングが有効化されていませんでした。4Dメソッドを使用している 4D Write Pro ドキュメントを 4D v16以降へと変換した場合、これらは正しく評価されなくなり、代わりに "## Error # 48" メッセージが表示されます。
この場合、SET ALLOWED METHODS コマンドを使って、許可されたメソッドのリストに使用したいメソッドを追加する必要があります。

4D Write Pro 用の新コマンドが追加されたほか、複数の既存コマンドが 4D Write Pro に対応するように進化をとげました:

  • OBJECT SET HORIZONTAL ALIGNMENT: 4D Write Pro オブジェクトに対応しています。alignment パラメーターに、4D Write Pro エリアに限定された、新しい wk justify 定数が提供されており、両端揃えの設定が可能です。
  • OB SET: このコマンドは4D Write Proオブジェクトに定義されている属性に対応しています (WP SET ATTRIBUTES と同様)。次のシンタックスがサポートされています:
    OB SET ( objSel | wpDoc; attribName ; attribValue {; attribName2 ; valeurAttrib2 ; ... ; attribNameN ; attribValueN} )

    制限: 属性値としてピクチャーフィールドおよび変数を直接受け渡すことはできません。
  • OB Get:
    このコマンドは4D Write Proオブジェクトに定義されている属性に対応しています (WP GET ATTRIBUTES と同様)。次のシンタックスがサポートされています:
    OB Get ( objSel | wpDoc; attribName ) -> Function result

    このコマンドは OB SET と同様に制限されています: 属性値としてピクチャーフィールドおよび変数を直接使用することはできません。
  • 4D Write Pro 属性の文字列変換: JSON Stringify コマンドを使って 4D Write Pro オブジェクトを JSON に変換すると、"題名" 属性のみが文字列として取得されます。
    カスタム属性を追加している場合には、これらも文字列として書き出されます (4D Write Proドキュメントを4Dオブジェクトフィールドに保存するカスタムの属性を使用 参照)。
  • QUERY BY ATTRIBUTE: 4D Write Proドキュメントを4Dオブジェクトフィールドに保存する の章での記述のとおり、ドキュメントがオブジェクトフィールドに保存されている場合、QUERY BY ATTRIBUTE コマンドは 4D Write Proの内部属性およびカスタム属性をサポートします。

4D v16以降では、ネイティブな .4wp フォーマットを使用することによって 4D Write Proドキュメントをロスなくディスク上に保存したりディスクから開いたりすることができます。

.4wp フォーマットはドキュメント名と同じ名前を持つ ZIPフォルダーと、その中に格納された HTMLテキストと画像から構成されます:

  • HTMLテキストは、通常の HTML と (計算されていない) 4D式に加え、4D特有のタグを組み合わせます。
  • 画像は、HTMLファイルの隣にある、ドキュメント名と同じ名前を持つフォルダー内に保存されています。

.4wp ドキュメントは HTML に基づいているため、HTMLをサポートしているものであればどんな外部アプリケーションでもそれを読み込んだり開いたりすることができます。

注: 4D Write Pro の内部ドキュメントは HTML に 4D独自の拡張を加えたもので、HTML5/XHTML5 に準拠していながら、このマニュアルで説明されている独自の HTML/CSS属性のサブセットとタグもサポートしています。したがってデータ損失のリスクなく 4D Write Pro で開けるのは、4D Write Pro で書き出された HTMLドキュメントに限られます。

 
 



参照 

4D Write ドキュメントの読み込み

 
プロパティ 

プロダクト: 4D ODBC Pro
テーマ: 4D Write から 4D Write Pro へドキュメントを変換

 
履歴 

 
ARTICLE USAGE

4D v16への変換 ( 4D v16)
4D v16への変換 ( 4D v16.2)
4D v16への変換 ( 4D v16.3)