4D propose déjà des commandes pour gérer les fichiers et les dossiers, mais qu’en est-il des nouvelles commandes qui tirent parti de la puissance de la notation objet ?
Les objets ont changé la façon dont de nombreux développeurs 4D écrivent du code, le rendant plus générique, plus flexible, plus facile et plus rapide. Cette vague de changement s’étend maintenant aux fichiers et aux dossiers. Dans cet article de blog, nous allons vous montrer à quel point il est facile de manipuler un objet afin de récupérer les attributs d’un fichier ou d’un dossier (plutôt que d’appeler plusieurs commandes et de stocker les informations dans plusieurs variables). Les choses deviennent beaucoup plus faciles !
Manipulation des dossiers
Nouvelles commandes 4D
Une nouvelle commande Folder a été ajoutée et vous permet de créer un objet dossier à partir d’une constante, d’un chemin POSIX ou d’un chemin de plate-forme.
myFolder:=Folder(fk desktop folder)
myFolder :=Folder("/RESOURCES/Images")
myFolder :=Folder("c:\\Archives\\\" ;Platform path)
Nouvel objet Dossier
L’objet dossier fournit des propriétés et des méthodes qui vous permettent de créer et de manipuler des dossiers.
Voici quelques exemples de propriétés de dossier :
// Name
$name:=myFolder.name
// Modification date
$date :=myFolder.modificationDate
// Modification time
$time:=myFolder.modificationTime
Et il y a aussi des méthodes disponibles ! Vous pouvez 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()
Les objets dossier contiennent des références à des dossiers qui peuvent ou non déjà exister sur le disque. Par exemple, lorsque vous exécutez la méthode Folder pour créer un nouveau dossier, un objet dossier valide est créé mais rien n’est réellement stocké sur le disque jusqu’à ce que vous appeliez la méthode create() jusqu’à ce que vous appeliez la méthode
newFolder=Folder(fk documents folder).folder("Archives/2019")
$result :=newFolder.exists // return False
newFolder :=newFolder.create()
$result :=newFolder.exists // return True
Traitement des fichiers
Nouvelles commandes 4D
Nous avons également ajouté une commande File pour créer un objet fichier à partir d’une constante, d’un chemin POSIX ou d’un chemin de plate-forme.
myFile:=File(User settings file)
myFile :=File("/RESOURCES/Images/picture.png")
myFile :=File(Structure file;fk platform path)
Objet nouveau fichier
Comme pour les dossiers, le nouvel objet fichier permet d’accéder aux attributs des fichiers et de les manipuler.
// Name
$name:=myFile.name
// Extension
$extension :=myFile.extension
// Creation date
$date:=myFile.creationDate
// Creation time
$time:=myFile.creationTime
Tout comme les dossiers, les fichiers ont également des méthodes. Vous pouvez écrire et lire le contenu d’un fichier, le déplacer, le supprimer, etc.
// Create a file with
myFile.setText($text)
// Retrieve the content of the file
$text :=myFile.getText()
// Delete
myFile .delete()
Pour obtenir la liste complète des attributs et des méthodes, consultez le centre de documentation.