Dies ist die alte 4D Dokumentations-Website. Die neue und aktualisierte Dokumentation finden Sie unter developer.4d.com |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20 R7
Path to object
|
Path to object ( Pfad {; Pfadtyp} ) -> Funktionsergebnis | ||||||||
Parameter | Typ | Beschreibung | ||||||
Pfad | Text |
![]() |
Pfadname | |||||
Pfadtyp | Lange Ganzzahl |
![]() |
Typ der Pfadsyntax (Standard) oder Posix | |||||
Funktionsergebnis | Objekt |
![]() |
Objekt mit Pfadinhalt | |||||
Die Funktion Path to object gibt ein Objekt mit den spezifischen Eigenschaften des Parameters Pfad zurück.
Ohne Angabe des Parameters PfadTyp nimmt 4D standardmäßig an, dass Sie einen System Pfad mit den entsprechenden Separatoren übergeben haben ("\" unter Windows, ":" auf macOS). Übergeben Sie einen Posix Pfad mit Posix Separatoren ("/") oder wollen Sie den Pfadtyp angeben, übergeben Sie eine der beiden Konstanten im Parameter PfadTyp:
Konstante | Typ | Wert | Kommentar |
Path is POSIX | Lange Ganzzahl | 1 | Der Pfad wird in Posix Syntax angegeben. |
Path is system | Lange Ganzzahl | 0 | (Standard) Der Pfad wird in der Syntax des aktuellen Systems angegeben (Windows oder macOS). |
Die Funktion gibt ein Objekt zurück, das sich nach der Analyse von Pfad ergibt. Es enthält folgende Eigenschaften:
Eigenschaft | Typ | Beschreibung |
parentFolder | Text | Verzeichnisinformation für den Pfad. Das letzte Zeichen ist immer ein Ordnertrenner. |
name | Text | Datei- oder Ordnername des angegebenen Pfads, ohne Endung. |
extension | Text | Endung des Datei- oder Ordnernamens. Startet immer mit "." und ist Leerstring "", wenn es keine Endung gibt. |
isFolder | Boolean | Wahr, wenn Name ein Ordnername ist, sonst falsch (standardmäßig falsch) |
Ist das letzte Zeichen von Pfad ein Trenner gemäß dem Pfadtyp (zum Beispiel "\" unter Windows), nimmt 4D an, dass ein Ordnerpfad übergeben wurde. Sonst nimmt 4D an, dass es ein Dateiname ist.
Die Endung (wenn übergeben) wird zurückgegeben, unabhängig ob der Pfad eine Datei oder einen Ordner angibt. In jedem Fall müssen Sie Name und Endung zusammenfügen, um den kompletten Namen zu erhalten.
Beachten Sie, dass Path to object nur Strings verwaltet und weder prüft, ob der Pfadtyp gültig ist oder eine Datei bzw. Ordner tatsächlich vorhanden sind.
Nachfolgende Beispiele zeigen verschiedene Ergebnisse mit Dateipfaden:
C_OBJECT($o)
$o:=Path to object("C:\\first\\second\\fileZ") //unter Windows
//$o.parentFolder="C:\\first\\second\\"
//$o.name="fileZ"
//$o.extension=""
//$o.isFolder=false
C_OBJECT($o)
$o:=Path to object("osx:Users:john:Documents:Comments.text) //auf macOS
//$o.parentFolder="osx:Users:john:Documents:"
//$o.name="Comments"
//$o.extension=".text"
//$o.isFolder=false
C_OBJECT($o)
$o:=Path to object("\\images\\jan\\pict1.png";Path is system) //unter Windows
//$o.parentFolder="\\images\\jan\\"
//$o.name="pict1"
//$o.extension=".png"
//$o.isFolder=false
Pfad zu einem Ordner definieren:
C_OBJECT($o)
$o:=Path to object("osx:Users:oscargoldman:Desktop:Databases:") //macOS
//$o.parentFolder="osx:Users:oscargoldman:Desktop:"
//$o.name="Databases"
//$o.extension=""
//$o.isFolder=True
C_OBJECT($o)
$o:=Path to object("C:\\4D\\Main\\216410\\64\\4D\\4D.user\\") //Windows
//$o.parentFolder="C:\\4D\\Main\\216410\\64\\4D\\"
//$o.name="4D"
//$o.extension=".user"
//$o.isFolder=true
C_OBJECT($o)
$o:=Path to object("/first/second.bundle/";Path is POSIX)
//$o.parentFolder="/first/"
//$o.name="second"
//$o.extension=".bundle"
//$o.isFolder=true
Ist der Pfad nicht in einem Root-Verzeichnis, ist parentFolder leer:
C_OBJECT($o)
$o:=Path to object("C:\\") //unter Windows
//$o.parentFolder=""
//$o.name="c:"
//$o.extension=""
//$o.isFolder=true
C_OBJECT($o)
$o:=Path to object("osx:") //auf macOS
//$o.parentFolder=""
//$o.name="osx"
//$o.extension=""
//$o.isFolder=true
Ist der letzte Teil des Pfads ein Text (hier .invisible), wird er als Dateiname gewertet:
C_OBJECT($o)
$o:=Path to object("/folder/.invisible";Path is POSIX)
//$o.parentFolder="/folder/"
//$o.name=".invisible"
//$o.extension=""
//$o.isFolder=false
Sie können diese Funktion mit Object to path kombinieren, um eine Datei in einem Pfad umzubenennen:
C_OBJECT($o)
C_TEXT($path)
$o:=Path to object("C:\\4D\\resources\\images\\4D.jpg")
//$o.parentFolder="C:\\4D\\resources\\images\\"
//$o.name="4D"
//$o.extension=".jpg"
//$o.isFolder=false
$o.name:="4DOld"
$path:=Object to path($o)
//$path="C:\4D\resources\images\4DOld.jpg"
Sie wollen die Anzahl Unterordner innerhalb eines Pfads wissen:
C_OBJECT($o)
C_TEXT($path)
C_LONGINT($vCount)
$path:=Select folder //den Benutzer einen Ordner auswählen lassen
$o:=Path to object($path)
Repeat
$o:=Path to object($o.parentFolder)
$vCount:=$vCount+1
Until($o.parentFolder="")
ALERT("The path depth is: "+String($count))
Convert path POSIX to system
Convert path system to POSIX
File
Folder
Object to path
Test path name
Produkt: 4D
Thema: Systemdokumente
Nummer:
1547
Erstellt: 4D v16 R6
4D Programmiersprache ( 4D v20 R7)