EXPORT DATA
EXPORT DATA ( fileName {; project {; *}} )
| 引数 | 型 | 説明 | |
|---|---|---|---|
| fileName | Text | → | エクスポートファイルのフルパス名 | 
| project | Text, Blob | → | エクスポートプロジェクト | 
| ← | エクスポートプロジェクトの新しい内容 (*引数指定時) | ||
| * | 演算子 | → | エクスポートダイアログを表示し プロジェクトの内容を更新 | 
説明
EXPORT DATAコマンドは、データをfileNameファイルに書き出します。4Dからは以下のフォーマットでデータの書き出しを行えます: テキスト、固定長テキスト、XML、SYLK、DIF、DBF(dBase)および4Dフォーマット
fileNameに空の文字列を渡すと、EXPORT DATAは標準のファイルを保存ダイアログボックスを表示して、書き出すファイルの名前、タイプおよび場所をユーザーが指定できるようにします。ダイアログボックスが受け入れられると、Documentシステム変数にファイルパスがセットされます。ユーザがキャンセルをクリックすると、コマンドの実行は停止されて、システム変数OKは0になります。
オプション引数projectを使用すると、データ書き出しにプロジェクトを使用できます。この引数を渡すと、書き出しはユーザーの操作を経ることなく直接行われます (後述の * 引数を指定しない限り)。 この引数を渡さないと、書き出しダイアログボックスが表示されます。ユーザーは書き出しパラメターを指定するか、既存の書き出しプロジェクトをロードできます。
書き出しプロジェクトには、書き出しテーブルやフィールド、区切り符号のような書き出しに関するすべてのパラメターが含まれています。project引 数にはXMLで記述されたテキスト変数、定義済みのDOM要素への参照を格納したテキスト変数、またはBLOBのいずれかを渡せます。プロジェクトはプロ グラム (XMLフォーマットのプロジェクトのみ)、または書き出しダイアログボックスで事前に定義済みのパラメターをロードすることで作成できます。後者の場 合、2つの方法を利用できます:
- 空のプロジェクト引数およびオプションの * 付きでEXPORT DATAコマンドを使用し、ダイアログでの設定内容をproject引数に受け取って、それをテキストまたはBLOBフィールドに格納します (後述)。この方法ではプロジェクトをデータファイルに保存できます。
- プロジェクトをディスクに保存し、DOM Parse XML sourceコマンド等を使用してロードします。そしてその参照をproject引数に渡します。
互換性に関する注意: 4D v12より、読み込みプロジェクトはXMLにエンコードされるようになりました。4Dは以前のバージョンで作成された書き出しプロジェクト (BLOB形式) を開くことができます。しかし4D v12以降で作成されたプロジェクトをv11以前で開くことはできません。書き出しファイルを扱う際は、以降テキスト変数を使用することをお勧めします。
オプションの引数 * が指定されていれば、projectに定義されたパラメターと共にデータ書き出しダイアログボックスを表示します。これは、定義済みのプロジェクトを使用しつつ、いくつかのパラメターを変更できるようにするものです。さらに、データ書き出しダイアログボックスを閉じた後に、project引数には、新しいプロジェクトのパラメターが格納され、この新しいプロジェクトをBLOBフィールドやディスク等に保存することができます。
データ書き出しが正常に終了すると、システム変数OKは1になります。
例題 1
この例題ではバイナリーフォーマットでデータを書き出すためにEXPORT DATAコマンドを使用する方法を示します。
- このメソッドはループ中ですべてのテーブルに対しExportBinaryメソッドを呼び出します:
 var $ExportPath : Text
 var $i : Integer
 $ExportPath:=Select folder("書き出しフォルダーを選択:")
 If(OK=1)
    For($i;1;Last table number)
       If(Is table number valid($i))
          ExportBinary(Table($i);$ExportPath+Table name($i);True)
       End if
    End for
 End if
- ExportBinary メソッドのコードは以下の通りです:
 #DECLARE ($tablePtr : Pointer ; $path : Text ; $all : Boolean) //テーブルポインター
  //書き出し先ファイルのパス名
 //True: すべてのレコードを書き出し
 var $i : Integer
 var $ref : Text
 $ref:=DOM Create XML Ref("settings-import-export")
  // "$1"テーブルの全レコードまたはカレントセレクションを'4D'バイナリーフォーマットで書き出す。
 DOM SET XML ATTRIBUTE($ref;"table_no";Table($tablePtr);"format";"4D";"all_records";$all)
  // 書き出すフィールドの指定
 For($i;1;Last field number($tablePtr))
    If(Is field number valid($tablePtr;$i))
       $elt:=DOM Create XML element($ref;"field";"table_no";Table($tablePtr);"field_no";$i)
    End if
 End for
 EXPORT DATA($path;$ref)
 If(OK=0)
    ALERT(Table name($1)+"テーブルを書き出し中にエラーが発生しました。")
 End if
 DOM CLOSE XML($ref)
例題 2
この例題は、空のプロジェクトを作成し、ユーザが書き出しダイアログボックスで設定した各パラメターを保存します:
 var $exportParams : Text
 EXPORT DATA("DocExport.txt";$exportParams;*) // 書き出しダイアログボックスを表示する
システム変数およびセット
標準のファイルを開くまたは書き出しダイアログボックスでユーザがキャンセルをクリックするとOKシステム変数は0に設定されます。書き出しが行われると1に設定されます。
参照
EXPORT DIF
EXPORT SYLK
EXPORT TEXT
IMPORT DATA
プロパティ
| コマンド番号 | 666 | 
| スレッドセーフである | ✗ | 
| システム変数を更新する | OK、Document |