4D v17 R3のおかげで、構造ファイルを複数のテキストファイルでエクスポートすることができます。例えば、ほんの数行のコードで、毎朝、データベースのコピーを作成することができます。これを利用して、履歴を管理したり、同僚にデータベースを送って、その人が作業を終えたときに変更点を確認したりすることができます。
1つはエクスポートするデータを設定する方法、もう1つはデータベースをエクスポートする方法です。
データを設定する
このコンポーネントでは、”OpenDialConfigExport” メソッドがエクスポートを設定するためのインターフェイスを表示します。結果は、ホストデータベース構造の横にあるJSONファイルに保存されます。
例えば、次のように実行します。
// Display the configuration dialog
OpenDialConfigExport
次に、エクスポートする要素を選択します。

Save” ボタンをクリックすると、以下のような “configExport.json” ファイルが作成されます。
{
"withLog": "ifNotEmpty",
"filter": {
"projectMethods": true,
"databaseMethods": true,
"triggerMethods": false,
"forms": true,
"catalog": true,
"folders": false,
"settings": false,
"menus": false,
"tips": false,
"lists": false,
"filters": false,
"pictures": false,
"resources": false,
"trash": false,
"windowPositions": false,
"methodPreferences": false
}
}
このコマンドは実行する必要はありません。設定ファイルが存在しない場合は、構造体ファイル全体がエクスポートされます。
構造体のエクスポート
構造体ファイルを書き出すには、ExportStructure コンポーネントメソッドを使用します。パラメータとして、コンテンツをエクスポートするフォルダを渡します。
例えば、「YY-MM-DD hh-mm-ss」という名前のフォルダーに、コードのコピーをエクスポートしたいとします。

次のようなコードを書くだけです。
C_TEXT($path)
$path :=System folder(Documents folder)+"Export "+Folder separator\
+Path to object(Structure file).name
+Folder separator\
+Replace string(Replace string(String(Current date;ISO date;Current time);":" ;"-"); "t" ")+Folder separator
If (Test path name($path)#Is a folder)
CREATE FOLDER ($path;*)
End if ExportStructure ($path)
