Verwendung von Pfadelementen in Objekten

Automatisch übersetzt von Deepl

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.

Fabrice Mainguené
- Product Owner -Fabrice Mainguené gehört seit November 2016 zum 4D Program Team. Als Product Owner ist er verantwortlich für das Schreiben der User Stories und deren Umsetzung in funktionale Spezifikationen. Seine Aufgabe ist es auch, sicherzustellen, dass die gelieferte Funktionsimplementierung den Kundenanforderungen entspricht.Nach seinem Bachelor-Abschluss in Informatik am CNAM arbeitete Fabrice als Windev-Entwickler bei einem kleinen Software-Verlag. Danach arbeitete er für verschiedene Unternehmen in Industrie und Handel als Windev- und Webentwickler sowie als technischer Berater für neue Funktionen.