4D erleichtert Ihren Entwicklern das Leben mit zwei neuen Befehlen zur mühelosen Verwaltung von Datei- und Ordnerpfaden. Sparen Sie wertvolle Zeit mit dem Path to object der in einer einzigen Codezeile die Erweiterung, den Dateinamen oder den übergeordneten Ordner extrahiert. Anschließend können Sie die verschiedenen Objektattribute ändern und neu kombinieren, um einen neuen Pfad zu erstellen mit Object to path.
Pfadelemente extrahieren
Mit Path to objectkönnen Sie Pfade leicht in mehrere Teile aufteilen, die als Objektattribute zurückgegeben werden:
- Übergeordneter Ordner
- Name
- Erweiterung
- Ist ein Ordner oder nicht
// Aufteilen eines mit Systemtrennzeichen geschriebenen Pfades
$pathSys:=Pfadzu object("C:\\4D\\resources\\images\\\4D.jpg")
//$pathSys.parentFolder="C:\\4D\\resources\\images\\"
//$pathSys.name="4D"
//$pathSys.extension=".jpg"
//$pathSys.isFolder=False
Beachten Sie, dass der Befehl sowohl System- als auch POSIX-Pfade unterstützt. Er kann auch anhand des letzten Zeichens des Eingabeparameters path erkennen, ob Sie einen Ordner oder eine Datei übergeben haben.
Pfad erstellen
Sie haben nun eine einfache Möglichkeit, die Elemente eines Pfades zu ändern und ihn mit dem Object to path Befehl. Einfach!
// Duplizieren eines Dokuments in einem eigenen Ordner:
$path:="c:\\tmp\file.txt"
$o:=Pfadzu object($path)
// Dokument umbenennen
$o.name:=$o.name+"_copy"
// Kopie des Dokuments erstellen
COPY DOCUMENT($path;object to path($o))
Sie können das zurückgegebene Objekt auch in jedem 4D Befehl verwenden, der einen Pfad anfordert:
$o:=Pfadzu object("C:\\4D\\resources\\images\\\4D.jpg")
$doc:=Dokument auswählen($o.name+$o.extension;$o.extension; "Speichern unter";Dateinameneingabe)
Die Befehle Path to object und Object to path sollten nun verwendet werden, um die veralteten Befehle _o_Document type und _o_SET DOCUMENT TYPE zu ersetzen.
Leistungsverbesserung
Es ist immer gut zu erwähnen, dass 4D v16 R6 alle Vorteile der modernen System-APIs von macOS für die Datei- und Ordnerverwaltung nutzt. Wir haben Benchmark-Tests durchgeführt, bei denen verschiedene Operationen wie das Auflisten von Ordnerinhalten, das Überprüfen von Dateieigenschaften, das Lesen oder Kopieren kleiner Dateien auf Ordnern mit Tausenden von Dateien durchgeführt wurden.
Die Ergebnisse zeigen, dass die Ausführungszeit im Allgemeinen 6-mal schneller ist und bis zu 30-mal schneller beim Auflisten der Dateien an einem bestimmten Ort.