| 4D v18Path to object | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 
 | 
    4D v18
 Path to object  
         | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Path to object ( Ruta {; tipoRuta} ) -> Resultado | ||||||||
| Parámetro | Tipo | Descripción | ||||||
| Ruta | Texto |   | Nombre de la ruta | |||||
| tipoRuta | Entero largo |   | Tipo de sintaxis de ruta: Sistema (por defecto) o Posix | |||||
| Resultado | Objeto |   | Objeto que describe los contenidos de la ruta | |||||
El comando Path to object devuelve un objeto que contiene las propiedades específicas de la ruta que pasó en el parámetro.
De forma predeterminada, si omite el parámetro tipoRuta, se asumirá que pasó una ruta del sistema que contiene separadores del sistema ("\" en Windows, ":" en macOS). Si pasó una ruta Posix que contiene separadores de Posix ("/") o desea expresar el tipo de ruta, pase una de las siguientes constantes en el parámetro tipoRuta:
| Constante | Tipo | Valor | Comentario | 
| Path is POSIX | Entero largo | 1 | La ruta se expresa utilizando la sintaxis de Posix | 
| Path is system | Entero largo | 0 | (Por defecto) La ruta se expresa utilizando la sintaxis actual del sistema (Windows o macOS) | 
El comando devuelve un objeto resultante de analizar la ruta. Las siguientes propiedades están disponibles:
| Propiedad | Tipo | Descripción | 
| parentFolder | Texto | Información del directorio para la ruta. El último caracter es siempre un separador de carpetas. | 
| name | Texto | Nombre del archivo o carpeta final de la ruta especificada, sin extensión. | 
| extension | Texto | Extensión del nombre final de archivo o carpeta. Siempre comienza por ".". Cadena vacía "" si no hay extensión. | 
| isFolder | Booleano | True si el nombre es un nombre de carpeta, de lo contrario, de lo contrario (el valor predeterminado es false) | 
Se supondrá que pasó una ruta de carpeta si el último carácter de la ruta es  un separador correspondiente al tipo de ruta (por ejemplo, "\" en  Windows). De lo contrario, se supondrá que pasó un nombre de archivo. 
La extensión, si no está vacía, se devuelve independientemente de si la ruta representa un archivo o una carpeta. En este caso, debe concatenar el nombre y la extensión para recuperar el nombre completo.
Tenga en cuenta que Path to object  solo maneja cadenas. Tampoco comprueba si la ruta es válida con respecto  al tipo de ruta, ni a la existencia real de ningún archivo o carpeta. 
Los siguientes ejemplos muestran varios resultados con rutas de archivos:
 C_OBJECT($o)
 $o:=Path to object("C:\\first\\second\\fileZ") //en 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)  //en 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) //en Windows
  //$o.parentFolder="\\images\\jan\\"
  //$o.name="pict1"
  //$o.extension=".png"
  //$o.isFolder=falseDefiniendo una ruta a una carpeta:
 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=trueSi la ruta es un directorio raíz, parentFolder está vacío:
 C_OBJECT($o)
 $o:=Path to object("C:\\")  //en windows
  //$o.parentFolder=""
  //$o.name="c:"
  //$o.extension=""
  //$o.isFolder=true C_OBJECT($o)
 $o:=Path to object("osx:") //en macOS
  //$o.parentFolder=""
  //$o.name="osx"
  //$o.extension=""
  //$o.isFolder=trueSi la última parte de la ruta es ".something", se considera como un nombre de archivo:
 C_OBJECT($o)
 $o:=Path to object("/folder/.invisible";Path is POSIX)
  //$o.parentFolder="/folder/"
  //$o.name=".invisible"
  //$o.extension=""
  //$o.isFolder=falsePuede combinar este comando con Object to path para cambiar el nombre de un archivo en una ruta:
 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"Desea saber la cantidad de subcarpetas en una ruta:
 C_OBJECT($o)
 C_TEXT($path)
 C_LONGINT($vCount)
 $path:=Select folder //let the user select a folder
 $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
									
	Producto: 4D
	Tema: Documentos del sistema
	Número 
        1547
        
        
        
	
	Creado por: 4D v16 R6
	
	
	
	
	
	
	
	
	
	Manual de lenguaje 4D ( 4D v18)
	
	
	
	
	
 Añadir un comentario
Añadir un comentario