Notación de objetos para manejar archivos y carpetas

Traducido automáticamente de Deepl

4D ya proporciona comandos para manejar archivos y carpetas, pero ¿qué pasa con los nuevos comandos que aprovechan el poder de la notación de objetos?

Los objetos han cambiado la forma en que muchos desarrolladores de 4D escriben código, haciéndolo más genérico, flexible, fácil y rápido. Ahora esta ola de cambios se extiende a los archivos y carpetas. En esta entrada del blog, le mostraremos lo fácil que es manipular un objeto para recuperar los atributos de un archivo o carpeta (en lugar de llamar a varios comandos y almacenar la información en múltiples variables). ¡Las cosas se vuelven mucho más fáciles!

Ejemplo de base de datos

Manejando carpetas

Nuevos comandos de 4D

Se ha añadido un nuevo Folder que permite crear un objeto carpeta a partir de una constante, una ruta POSIX o una ruta de plataforma.

myFolder:=Folder(fk desktop folder)
myFolder :=Folder("/RESOURCES/Images")
myFolder :=Folder("c:\\Archives\\";Platform path)

Nuevo objeto Carpeta

El objeto carpeta proporciona propiedades y métodos para que puedas crear y manipular carpetas.

He aquí algunos ejemplos de propiedades de carpetas:

// Name
$name:=myFolder.name
// Modification date
$date :=myFolder.modificationDate

// Modification time
$time := myFolder.modificationTime

¡Y también hay métodos disponibles! Puedes create(), moveTo(), rename(), delete(), etc.

// Move to
myMoveTo:=myFolder.moveTo(destinationFolder)
// Rename
myRename :=myFolder.rename("NewName")
// Delete
myFolder .delete(Delete with contents)
// List of files in myFolder
colFiles:=myFolder.files()

Los objetos carpeta contienen referencias a carpetas que pueden existir o no en el disco. Por ejemplo, cuando se ejecuta el método Folder para crear una nueva carpeta, se crea un objeto carpeta válido pero no se almacena nada en el disco hasta que se llame al método create() método.

newFolder=Folder(fk documents folder).folder("Archivos/2019")
$result :=newFolder.exists // return False

newFolder :=newFolder.create()
$result :=nuevaCarpeta.existe
// return True

Manejo de archivos

Nuevos comandos 4D

También hemos añadido un comando File para crear un objeto archivo a partir de una constante, una ruta POSIX o una ruta de plataforma.

myFile:=File(User settings file)
myFile :=File("/RESOURCES/Images/picture.png")
myFile :=File(Structure file;fk platform path)

Nuevo objeto archivo

Al igual que con las carpetas, el nuevo objeto archivo permite acceder a los atributos de los archivos y manipularlos.

// Name
$name:=myFile.name
// Extension
$extension :=myFile.extension
// Creation date

$date:=myFile.creationDate
// Creation time
$time:=myFile.creationTime

Al igual que las carpetas, los archivos también tienen métodos. Puedes escribir y leer el contenido de un archivo, moverlo, borrarlo, etc.

// Create a file with
myFile.setText($text)
// Retrieve the content of the file
$text :=myFile.getText()
// Delete
myFile .delete()

Para ver la lista completa de atributos y métodos, consulte el centro de documentación.

Vanessa Talbot
• Propietario de producto - Vanessa Talbot llegó al equipo de 4D Program en junio de 2014. Como Propietario de producto, está a cargo de escribir las historias de los usuarios y luego traducirlas a especificaciones funcionales. Su papel es también asegurarse de que la implementación de la funcionalidad entregada cumpla con las necesidades del cliente. Desde su llegada, ha trabajado en la definición de funcionalidades claves en 4D. Ha trabajado en la mayoría de las nuevas funcionalidades de multi hilo apropiativo y también en un tema muy complejo: la nueva arquitectura para la aplicación engined. Vanessa es licenciada por Telecom Saint-Etienne. Comenzó su carrera en el Instituto de Investigación Criminal como desarrolladora del departamento audiovisual. También ha trabajado en medios de comunicación y en el ámbito médico como experta en soporte técnico, producción y documentación de nuevas funcionalidades.