Dies ist die alte 4D Dokumentations-Website. Die neue und aktualisierte Dokumentation finden Sie unter developer.4d.com

Home

 
4D v20 R7
Get 4D folder

Get 4D folder 


 

Get 4D folder {( Ordner {; options} {; *})} -> Funktionsergebnis 
Parameter Typ   Beschreibung
Ordner  Lange Ganzzahl in Ordnertyp (ohne Angabe = aktiver 4D Ordner)
options  Objekt in 4D Client database folder path configuration
Operator in Gibt den Ordner der Host Datenbank zurück
Funktionsergebnis  String in Pfadname zu 4D Ordner

Die Funktion Get 4D folder gibt den Pfadnamen zum aktiven 4D Ordner zurück, bzw. zum Ordner der 4D Umgebung, wenn der Parameter Ordner übergeben wurde. Über diese Funktion erhalten Sie den aktuellen Pfadnamen der Ordner, welche die 4D Anwendung verwendet. Mit dieser Funktion stellen Sie sicher, dass Ihr Code auf jeder Plattform funktioniert, die mit einem lokalisierten System läuft.

In Ordner können Sie eine der folgenden Konstanten übergeben, die sich im "4D Umgebung" Thema befinden (eine Beschreibung der einzelnen Ordner finden Sie weiter unten):

Konstante Typ Wert
4D Client database folder Lange Ganzzahl 3
Active 4D Folder Lange Ganzzahl 0
Current resources folder Lange Ganzzahl 6
Data folder Lange Ganzzahl 9
Database folder Lange Ganzzahl 4
Database folder Unix syntax Lange Ganzzahl 5
HTML Root folder Lange Ganzzahl 8
Licenses folder Lange Ganzzahl 1
Logs folder Lange Ganzzahl 7
MobileApps folder Lange Ganzzahl 10

Mit dem Parameter options können Sie den Pfad des lokalen Ressourcen-Ordners anpassen. Er wird nur berücksichtigt, wenn Sie die Konstante 4D Client database folder verwenden (siehe unten). 

Hinweis: Wenn der Befehl Get 4D folder von einem entfernten 4D Rechner aus aufgerufen wird, ist der zurückgegebene Pfad der des entfernten Rechners, nicht der von 4D Server.

Die 4D Umgebung verwendet einen spezifischen Ordner zum Speichern folgender Informationen:

  • Dateien Preferences der Anwendungen der 4D Umgebung
  • Datei Shortcuts.xml (eigene Tastenkürzel)
  • Ordner Macros v2 (Makro Befehle des Methodeneditors)
  • Ordner Favorites v1x, z.B. Favorites v14 (Pfadnamen für lokale und remote Datenbanken, die geöffnet wurden)
  • Ordner Logs für Wartungsprotokolle und wenn die Daten nur im Lesemodus sind

Der aktive 4D Ordner wird standardmäßig an folgender Stelle angelegt:

  • Unter Windows 7 und höher: {Festplatte}\Users\<Benutzername>\AppData\Roaming\
  • Auf macOS: {Festplatte}:Users:<Benutzername>:Library:Application Support:

Der Ordner enthält die Lizenzdateien des Rechners. Er liegt an folgender Stelle:

  • Unter Windows 7 und höher: {Festplatte}:\ProgramData\4D\Licenses
  • Auf OS X: {Festplatte}:Library:Application Support:4D:Licenses

Hinweise:

  • Bei einer Anwendung mit einkompilierter 4D Volume Desktop ist der Ordner Licenses im Paket der Anwendung enthalten.
  • Kann der Ordner Licenses nicht im System erstellt werden, weil die Authorisation dazu fehlt, wird er an folgender Stelle angelegt:
    • Unter Windows 7 und höher: {Festplatte}:\Users\<Benutzername>\AppData\Roaming\4D\Licenses
    • Auf OS X: {Festplatte}:Users:<Benutzername>:Library:Application Support:4D:Licenses

Pfad des Ordners mit der aktuellen Datendatei. Der Pfadname wird in der Standardsyntax der aktuellen Plattform angegeben.

4D Datenbank Ordner, der auf jedem Client Rechner angelegt wird, zum Speichern von Dateien und Ordnern, die zur Datenbank gehören (Ressourcen, Plug-Ins, Ordner Resources, etc.). Der Befehl kann zurückgegeben werden:

  • der Pfad für die aktuelle Applikation, wenn sie auf einem entfernten Rechner aufgerufen wird und der Parameter options weggelassen wird,
  • den Pfad für eine beliebige Applikation, wenn der Parameter options verwendet wird (in diesem Fall kann Get 4D folder auf einem beliebigen Rechner aufgerufen werden).

Standardmäßig lautet der Pfad:  

  • Unter Windows: {Disk}:\Users\{Benutzerkonto}\AppData\Local\{Anwendungsname}\{Strukturname_IP_Port_key}
    z.B.: C:\Benutzer\John Doe\AppData\Local\myApp\myApp_192_168_2_134_19813_157

  • Unter macOS: {Disk}:Benutzer:{Benutzerkonto}:Library:Caches:{Anwendungsname} Client:{Strukturname_IP_Port_key}.
    z.B.: :Benutzer:John Doe:Library:Caches:myApp Client:myApp_192_168_2_134_19813_933

Es werden unterschiedliche Ordner verwendet, wenn mehrere Instanzen der Client Applikation gleichzeitig auf demselben Rechner gestartet werden.

Hinweis: Unter Windows wird bei zusammengeführten Client-Projekten der Speicherort dieses Ordners geändert, wenn der ShareLocalResourcesOnWindowsClient BuildApp-Schlüssel verwendet wird.  

Verwendung des 4D Client Datenbankordners mit dem Parameter Optionen

Sie können den Parameter options verwenden, wenn Sie einen beliebigen lokalen Ordnerpfad einer 4D Datenbank berechnen möchten. In diesem Fall wird der Pfad auf der Grundlage der Informationen erstellt, die Sie im Optionsobjekt angegeben haben, und der Befehl kann von einer 4D, 4D Server oder Remote Applikation verwendet werden. Dank dieser Funktion können Sie die Pfade Ihrer Ressourcen-Ordner vorberechnen, um z.B. Inhalte vorzuladen. 

Sie können die folgenden Eigenschaften an das Optionsobjekt übergeben:

EigenschaftTypBeschreibung
remoteAppPathTextOptional - Ausführbarer Systempfad der Remote-Applikation. Standardwert ist der Pfad zur aktuellen Applikation.
buildApplicationNameTextOptional - Name der Applikation (entspricht dem BuildApplicationName BuildApp xml Schlüsselwert). Standard ist der Name der aktuellen Applikation.
structureNameTextObligatorisch, außer wenn das Attribut clientServerSystemFolderName definiert ist - Name der Struktur.
ipAddressTextObligatorisch, außer wenn das Attribut clientServerSystemFolderName definiert ist - IP-Adresse des Servers (entspricht dem IPAddress BuildApp xml-Schlüsselwert).
portNumberZahlObligatorisch, außer wenn das Attribut clientServerSystemFolderName definiert ist - Publikationsport des Servers (wie der PortNumber BuildApp xml Schlüsselwert).
clientServerSystemFolderName TextOptional - Benutzerdefinierter Name des endgültigen Ordners für lokale Ressourcen (entspricht dem ClientServerSystemFolderName BuildApp xml-Schlüsselwert).
shareLocalResourcesOnWindowsClientBooleanOptional - Gemeinsam genutzter lokaler Ressourcenordner (wie der ShareLocalResourcesOnWindowsClient BuildApp xml-Schlüsselwert).

Hinweis: Der zurückgegebene Pfad wird in der Systemsyntax des Rechners ausgedrückt, auf dem der Befehl ausgeführt wird. 

Ordner mit der Strukturdatei der Datenbank. Der Pfadname wird in der standardmäßigen Syntax der aktuellen Plattform dargestellt.
In der Client-Anwendung entspricht diese Konstante exakt der bisherigen Konstante 4D Client Database Folder: Sie gibt den Pfadnamen des lokal erstellten Ordners zurück.

Ordner mit der Strukturdatei der Datenbank. Diese Konstante bezeichnet denselben Ordner wie die vorige, der Pfadname wird jedoch in der Unix Syntax (Posix) vom Typ /Users/... dargestellt. Diese Syntax wird hauptsächlich mit dem Befehl LAUNCH EXTERNAL PROCESS unter OS X zurückgegeben.

Resourcen Ordner der Datenbank. Dieser Ordner enthält zusätzliche Elemente (Bilder, Text) für die Datenbankoberfläche. Eine Komponente kann einen eigenen Ordner Resources haben. Der Ordner Resources liegt neben der Struktur der Datenbank.
Im Client/Server-Betrieb kann dieser Ordner zur Übertragung eigener Elemente zwischen Server- und Client-Rechner dienen. Der Inhalt dieses Ordners wird automatisch aktualisiert, wenn sich der Client-Rechner anmeldet. Im Client/Server-Betrieb werden alle diesem Ordner zugewiesenen Referenz-Mechanismen unterstützt(Ordner .lproj, XLIFF, Bilder, etc.) 4D bietet darüberhinaus verschiedene Tools, um diesen Ordner dynamisch zu verwalten und zu aktualisieren, insbesondere einen Ressourcen Explorer.

Hinweis: Existiert der Ordner Resources nicht für die Datenbank, wird er angelegt, wenn Sie die Funktion Get 4D folder mit der Konstanten CurrentResources Folder ausführen.

Ordner Logs der Datenbank. Er liegt auf derselben Ebene wie die Datendatei und enthält folgende Logbücher der aktuellen Datenbank:

  • Datenbankkonvertierung,
  • Web Server Anfragen,
  • Journal zu Backup/Wiederherstellen Aktivitäten,
  • Debugging der Befehle und Funktionen,
  • 4D Server Anfragen (auf Client-Rechnern und auf dem Server generiert).

Hinweise:

  • Ein zusätzlicher Ordner Logs wird im Ordner User Preferences auf Systemebene angelegt (Active 4D Folder). Er wird für Wartungsprotokolle verwendet (Kompakt, Prüfen, Reparieren). Um auf solche Logbücher zuzugreifen, können Sie z.B. den Befehl Get 4D file(Compacting log file) aufrufen. Dieser Ordner Logs wird auch in Fällen verwendet, wo sich reguläre Logbücher nicht schreiben lassen. 
  • Existiert der Ordner Logs nicht für die Datenbank, wird er angelegt, wenn Sie die Funktion Get 4D folder mit der Konstanten Logs folder ausführen.

Aktueller HTML Root Ordner der Datenbank zurück. Der zurückgegebene Pfadname wird in der standardmäßigen Syntax der aktuellen Plattform dargestellt. Es ist der Ordner, in dem der 4D Web Server nach den angefragten Web Dateien und Seiten sucht. Der Ordner heißt standardmäßig WebFolder und liegt neben der Strukturdatei (oder eine lokale Kopie bei 4D im remote Modus). Sie können diesen Speicherort in den Einstellungen der Datenbank auf der Seite Web>Konfiguration oder dynamisch über den Befehl WEB SET ROOT FOLDER verändern.
Wird die Funktion Get 4D folder über ein Remote 4D aufgerufen, wird der Pfad des Remote Rechners und nicht der von 4D Server zurückgegeben.

Der optionale Parameter * ist hilfreich beim Arbeiten mit Komponenten. Damit können Sie die Datenbank (Host oder Komponente) bestimmen, für welche Sie den Pfadnamen des Ordners erhalten möchten. Dieser Parameter gilt nur für Database Folder, Database Folder Unix Syntax und Current Resources folder. In allen anderen Fällen hat er keine Auswirkung.

Wird die Funktion von einer Komponente aus aufgerufen:

  • Ist der Parameter * übergeben, gibt die Funktion den Pfadnamen der Host Datenbank zurück.
  • Ist der Parameter * nicht übergeben, gibt die Funktion den Pfadnamen des Ordners Components zurück.
    Der zurückgegebene Datenbankordner (Database Folder und Database Folder Unix Syntax) ist unterschiedlich, je nach der Art der Komponentenarchitektur:
    - Bei einem Ordner .4dbase/package gibt die Funktion den Pfadnamen des Ordners .4dbase/package zurück,
    - Bei einer Datei .4db oder .4dc gibt die Funktion den Pfadnamen des Ordners Components zurück,
    - Bei einem Alias oder einer Verknüpfung gibt die Funktion den Pfadnamen des Ordners mit der Original Matrix Datenbank zurück. Das Ergebnis ist unterschiedlich, je nach dem Format dieser Datenbank (Ordner .4dbase /package oder Datei .4db/.4dc), wie oben beschrieben.
    Wird der Befehl von der Host Datenbank aus aufgerufen, gibt er immer den Pfadnamen des Host Datenbankordners zurück, unabhängig ob der Parameter * übergeben ist oder nicht.

Ordner mit all den Session Dateien (.json), welche die 4D Applikation für die Referenz auf mobile app Benutzersitzungen verwendet (z.B. Sitzungen von apps 4D for iOS ). Session Dateien sind in Unterordnern der Applikation gruppiert und werden automatisch angelegt. Weitere Informationen dazu finden Sie in der Dokumentation 4D for iOS.

Dieser Ordner liegt auf derselben Ebene wie die aktuelle 4D Datendatei.

 

TDer optionale Parameter * ist bei einer Architektur mit Komponenten nützlich: Er kann verwendet werden, um die Datenbank (Host oder Komponente) zu bestimmen, für die Sie den Pfadnamen des Ordners erhalten möchten. Dieser Parameter ist nur gültig für Database folderDatabase folder UNIX syntax und Current resources folder Ordner. In allen anderen Fällen wird er ignoriert.

Wenn der Befehl von einer Komponente aus aufgerufen wird:

  • Wenn der Parameter * übergeben wird, gibt der Befehl den Pfadnamen des Host-Datenbankordners zurück,
  • Wenn der Parameter * nicht übergeben wird, gibt der Befehl den Pfadnamen des Komponentenordners zurück.
  • Der Datenbankordner (Database folder und Database folder UNIX syntax) zurückgegeben wird, unterscheidet sich je nach Art der Komponentenarchitektur:
    • Im Falle eines .4dbase-Ordners/Pakets gibt der Befehl den Pfadnamen des .4dbase-Ordners/Pakets zurück,
    • Im Falle einer .4db- oder .4dc-Datei gibt der Befehl den Pfadnamen des Ordners "Components" zurück,
    • Im Falle eines Alias oder einer Verknüpfung gibt der Befehl den Pfadnamen des Ordners zurück, der die ursprüngliche Matrixdatenbank enthält. Das Ergebnis unterscheidet sich je nach Format dieser Datenbank (.4dbase-Ordner/Package oder .4db/.4dc-Datei), wie oben beschrieben.
    Wenn der Befehl von der Host-Datenbank aus aufgerufen wird, gibt er immer den Pfadnamen des Host-Datenbankordners zurück, unabhängig davon, ob der Parameter * übergeben wird oder nicht.

Sie wollen während dem Starten einer Datenbank im Einzelplatzbetrieb in eine Datei im 4D Ordner eigene Einstellungen laden oder erstellen. Ihr Code in der Datenbankmethode On Startup könnte folgendermaßen aussehen:

 $vsPrefDocName:=Get 4D folder+"MyPrefs.prf" //Erstelle Pfadnamen zur Datei Preferences
  // Prüfe, ob die Datei existiert
 If(Test path name($vsPrefDocName)#Is a document)
    $vtPrefDocRef:=Create document($vsPrefDocName.prf) //Wenn nicht, erstelle sie
 Else
    $vtPrefDocRef:=Open document($vsPrefDocName.prf) //Falls ja, öffne sie
 End if
 If(OK=1)
  //Inhalt des Dokuments bearbeiten
    CLOSE DOCUMENT($vtPrefDocRef)
 Else
  //Fehler verwalten
 End if

Dieses Beispiel zeigt die Verwendung der Konstanten Database Folder Unix Syntax unter macOS, um den Inhalt des Datenbankordners anzuzeigen:

 

 $posixpath:="\""+Get 4D folder(Database folder Unix syntax)+"\""
 $myfolder:="ls -l "+$posixpath
 $in:=""
 $out:=""
 $err:=""
 LAUNCH EXTERNAL PROCESS($myfolder;$in;$out;$err)

Hinweis: Auf macOS müssen Sie die Pfadnamen in Anführungszeichen setzen, wenn sie Datei- oder Ordnernamen mit Leerzeichen enthalten. Über das Sonderzeichen "\" oder die Anweisung Char(Double quote) können Sie Anführungszeichen in den String einfügen.

Ist der Parameter Ordner ungültig oder wird der Pfadname leer zurückgegeben, wird die Systemvariable OK auf 0 (Null) gesetzt.



Siehe auch 

COMPONENT LIST
System folder
Temporary folder
Test path name
WEB SET ROOT FOLDER

 
EIGENSCHAFTEN 

Produkt: 4D
Thema: 4D Umgebung
Nummer: 485

Dieser Befehl ändert die Systemvariable OKDieser Befehl kann in preemptive Prozessen laufenIm remote Modus anderes Verhalten

 
SEITENINHALT 
 
GESCHICHTE 

Geändert: 4D v11 SQL Release 2
Geändert: 4D v13
Geändert: 4D v16
Geändert: 4D v17 R2
Geändert: 4D v20

 
SCHLÜSSELWÖRTER 

Folder

 
ARTIKELVERWENDUNG

4D Programmiersprache ( 4D v20 R7)