Vous êtes sur le site Web historique de la documentation de 4D. Les documentations sont progressivement déplacées vers developer.4d.com |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20.6
Chemin vers objet
|
Chemin vers objet ( chemin {; typeChemin} ) -> Résultat | ||||||||
Paramètre | Type | Description | ||||||
chemin | Texte |
![]() |
Chemin | |||||
typeChemin | Entier long |
![]() |
Type de syntaxe du chemin : Système (par défaut) ou Posix | |||||
Résultat | Objet |
![]() |
Objet décrivant le contenu du chemin | |||||
La commande Chemin vers objet retourne un objet contenant les propriétés spécifiques du chemin passé en paramètre.
Par défaut, si vous omettez le paramètre typeChemin, il sera présumé que vous passez un chemin système, contenant des séparateurs systèmes ("\" sous Windows, ":" sous macOS). Si vous passez un chemin Posix contenant des séparateurs Posix ("/") ou si vous souhaitez expressément indiquer le type du chemin, passez une des constantes suivantes dans le paramètre typeChemin :
Constante | Type | Valeur | Comment |
Chemin est POSIX | Entier long | 1 | Le chemin est exprimé en syntaxe POSIX. |
Chemin système | Entier long | 0 | (Défaut) Le chemin est exprimé avec la syntaxe système courante (Windows ou macOS) |
La commande renvoie un objet résultant de l'analyse du chemin. Les propriétés suivantes sont disponibles :
Propriété | Type | Description |
parentFolder | Texte | Description des répertoires constituant le chemin. Le dernier caractère est un séparateur de dossier. |
name | Texte | Nom du fichier ou du dossier final du chemin spécifié, sans extension. |
extension | Texte | Extension du fichier final ou nom du dossier. Commence toujours par ".". Chaîne vide "" si pas d'extension. |
isFolder | Booléen | "true" si "name" est un nom de dossier, sinon "false" ("false" par défaut) |
4D considère que vous avez passé un chemin de dossier si le dernier caractère du chemin est un séparateur correspondant à son type (par exemple "\" sous Windows). Sinon, 4D considère que vous avez passé un nom de fichier.
L'extension est retournée, si elle n'est pas vide, que le chemin désigne un fichier ou un dossier. Dans les deux cas, vous devez concaténer le nom et l'extension pour obtenir le nom complet.
Notez que Chemin vers objet ne gère que les chaînes. Cette commande ne vérifie pas si le type de chemin est valide, ni l'existence réelle d'un fichier ou d'un dossier.
Les exemples suivants montrent différents résultats avec les chemins d'accès :
C_OBJET($o)
$o:=Chemin vers objet("C:\\first\\second\\fileZ") //sous Windows
//$o.parentFolder="C:\\first\\second\\"
//$o.name="fileZ"
//$o.extension=""
//$o.isFolder=false
C_OBJET($o)
$o:=Chemin vers objet("osx:Users:john:Documents:Comments.text") //sous MacOS
//$o.parentFolder="osx:Users:john:Documents:"
//$o.name="Comments"
//$o.extension=".text"
//$o.isFolder=false
C_OBJET($o)
$o:=Chemin vers objet("\\images\\jan\\pict1.png";Chemin système) //sous Windows
//$o.parentFolder="\\images\\jan\\"
//$o.name="pict1"
//$o.extension=".png"
//$o.isFolder=false
Définir un chemin vers un dossier :
C_OBJET($o)
$o:=Chemin vers objet("osx:Users:oscargoldman:Desktop:Databases:") // MacOS
//$o.parentFolder="osx:Users:oscargoldman:Desktop:"
//$o.name="Databases"
//$o.extension=""
//$o.isFolder=true
C_OBJET($o)
$o:=Chemin vers objet("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_OBJET($o)
$o:=Chemin vers objet("/first/second.bundle/";Chemin est POSIX)
//$o.parentFolder="/first/"
//$o.name="second"
//$o.extension=".bundle"
//$o.isFolder=true
Si le chemin est un répertoire racine, parentFolder est vide :
C_OBJET($o)
$o:=Chemin vers objet("C:\\") // sous Windows
//$o.parentFolder=""
//$o.name="c:"
//$o.extension=""
//$o.isFolder=true
C_OBJET($o)
$o:=Chemin vers objet("osx:") // sous MacOS
//$o.parentFolder=""
//$o.name="osx"
//$o.extension=""
//$o.isFolder=true
C_OBJET($o)
$o:=Chemin vers objet("/folder/.invisible";Chemin est POSIX)
//$o.parentFolder="/folder/"
//$o.name=".invisible"
//$o.extension=""
//$o.isFolder=false
Vous pouvez combiner cette commande avec Objet vers chemin pour renommer un fichier dans un chemin :
C_OBJET($o)
C_TEXTE($path)
$o:=Chemin vers objet("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:=Objet vers chemin($o)
//$path="C:\4D\resources\images\4DOld.jpg"
Vous voulez connaître le nombre de sous-dossiers contenus dans un chemin :
C_OBJET($o)
C_TEXTE($path)
C_ENTIER LONG($vCount)
$path:=Selectionner dossier // on laisse l'utilisateur sélectionner un dossier
$o:=Chemin vers objet($path)
Repeter
$o:=Chemin vers objet($o.parentFolder)
$vCount:=$vCount+1
Jusque($o.parentFolder="")
ALERTE("La profondeur du chemin est : "+Chaine($count))
Convertir chemin POSIX vers systeme
Convertir chemin systeme vers POSIX
Dossier
Fichier
Objet vers chemin
Tester chemin acces
Produit : 4D
Thème : Documents système
Numéro :
1547
Nom intl. : Path to object
Créé : 4D v16 R6
4D - Langage ( 4D v20)
4D - Langage ( 4D v20.1)
4D - Langage ( 4D v20.2)
4D - Langage ( 4D v20.3)
4D - Langage ( 4D v20.4)
4D - Langage ( 4D v20.5)
4D - Langage ( 4D v20.6)