Dank 4D v17 R3 können Sie Ihre Strukturdatei in mehrere Textdateien exportieren. Mit nur wenigen Zeilen Code können Sie zum Beispiel jeden Morgen eine Kopie Ihrer Datenbank erstellen. Damit können Sie den Verlauf verfolgen oder Ihre Datenbank an einen Kollegen senden, um die Änderungen zu sehen, wenn dieser mit der Arbeit fertig ist.
Wir stellen Ihnen eine gebrauchsfertige Komponente mit nur zwei Methoden zur Verfügung: eine, um die zu exportierenden Daten zu konfigurieren, und die andere, um Ihre Datenbank zu exportieren.
Konfigurieren Sie die Daten
In dieser Komponente zeigt die Methode „OpenDialConfigExport“ eine Schnittstelle zur Konfiguration Ihres Exports an. Das Ergebnis wird in einer JSON-Datei neben der Struktur der Host-Datenbank gespeichert.
Sie führen zum Beispiel aus:
// Display the configuration dialog
OpenDialConfigExport
Wählen Sie dann die zu exportierenden Elemente aus:
Wenn Sie auf die Schaltfläche „Speichern“ klicken, wird die folgende Datei „configExport.json“ erstellt.
{ "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 } }
Sie brauchen diesen Befehl nicht auszuführen. Wenn die Konfigurationsdatei nicht vorhanden ist, wird die gesamte Strukturdatei exportiert.
Exportieren der Struktur
Um die Strukturdatei zu exportieren, verwenden Sie die Komponentenmethode ExportStructure. Übergeben Sie als Parameter den Ordner, in den der Inhalt exportiert werden soll.
Sie möchten zum Beispiel eine Kopie Ihres Codes in einen Ordner mit dem Namen „JJ-MM-TT hh-mm-ss“ exportieren.
Schreiben Sie einfach den folgenden Code:
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)