| 4D v18Path to object | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 
 | 
    4D v18
 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=falsePfad 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=trueIst 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=trueIst 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=falseSie 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 v18)
	
	
	
	
	
 Fehler melden
Fehler melden