4D facilita la vida de sus desarrolladores con dos nuevos comandos para gestionar sin esfuerzo las rutas de los archivos o carpetas. Ahorre un tiempo valioso con el comando Path to object que, en una sola línea de código, extrae la extensión, el nombre del archivo o la carpeta padre. Luego puede modificar y recombinar los diferentes atributos del objeto para componer una nueva ruta con Object to path.
Extraer elementos de la ruta
Con Path to objectpuede dividir fácilmente las rutas en varias partes, devueltas como atributos de objetos:
- Carpeta principal
- Nombre
- Extensión
- Es una carpeta o no
// Dividir una ruta escrita con el delimitador del sistema
$pathSys:=Rutaal objeto("C:\4D\\recursos\imágenes\4D.jpg")
//$pathSys. parentFolder="C:\4D\recursos\imágenes\"
//$pathSys.name="4D"
//$pathSys.extension=".jpg"
//$pathSys.isFolder=False
Tenga en cuenta que el comando soporta tanto las rutas del sistema como las de POSIX. También puede decir si usted pasó una carpeta o un archivo basado en el último carácter del parámetro de entrada de la ruta.
Construir ruta
Ahora tiene una forma sencilla de modificar los elementos de una ruta y reconstruirla con el Object to path . Es muy fácil.
// Duplicar un documento en su propia carpeta:
$ruta:="c:\tmp\fichero.txt"
$o:=Rutaa objeto($ruta)
// Renombrar el documento
$o.nombre:=$o.nombre+"_copia"
// Hacer una copia del documento
COPIAR DOCUMENTO($ruta;objeto a ruta($o))
También puede utilizar el objeto devuelto en cualquier comando 4D que solicite una ruta:
$o:=Rutaal objeto("C:\4D\\recursos\imágenes\4D.jpg")
$doc:=Seleccionardocumento($o.nombre+$o.extensión;$o.extensión; "Guardar como";Entrada del nombre del archivo)
Los comandos Path to object y Object to path deben utilizarse ahora para sustituir las llamadas a los comandos obsoletos, _o_Document type y _o_SET DOCUMENT TYPE.
Mejora del rendimiento
Siempre es bueno mencionar que 4D v16 R6 aprovecha al máximo las modernas APIs del sistema en macOS para la manipulación de archivos y carpetas. Hemos ejecutado pruebas de referencia realizando varias operaciones como listar el contenido de las carpetas, comprobar las propiedades de los archivos, leer o copiar archivos pequeños, en carpetas con miles de archivos.
Los resultados muestran que el tiempo de ejecución es 6 veces más rápido en general y hasta 30 veces más rápido cuando se listan los archivos presentes en una ubicación determinada.