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!
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.