Gracias a 4D v17 R3, puede exportar su archivo de estructura en múltiples archivos de texto. Por ejemplo, con sólo unas pocas líneas de código puede crear una copia de su base de datos cada mañana. Puede usar esto para llevar un registro del historial o para enviar su base de datos a un colega y ver los cambios cuando termine de trabajar en ella.
Le proporcionamos un componente listo para usar con sólo dos métodos: uno para configurar los datos a exportar, y el otro para exportar su base de datos.
Configurar los datos
En este componente, el método «OpenDialConfigExport» muestra una interfaz para configurar su exportación. El resultado se guarda en un archivo JSON junto a la estructura de la base de datos anfitriona.
Por ejemplo, se ejecuta:
// Display the configuration dialog
OpenDialConfigExport
A continuación, seleccione los elementos a exportar:
Al hacer clic en el botón «Guardar», se crea el siguiente archivo «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 } }
No es necesario ejecutar este comando. Si el archivo de configuración no existe, se exporta todo el archivo de estructura.
Exportar la estructura
Para exportar el archivo de estructura, utilice el método del componente ExportStructure. Pase la carpeta donde se exporta el contenido como parámetro.
Por ejemplo, quiere exportar una copia de su código en una carpeta llamada «YY-MM-DD hh-mm-ss».
Sólo tienes que escribir el siguiente código:
C_TEXT($path)
$path :=System folder(Documents folder)+"Exportar "+Folder separator\N-
+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)