4D offre già comandi per gestire file e cartelle, ma che dire di nuovi comandi che sfruttino la potenza della notazione a oggetti?
Gli oggetti hanno cambiato il modo in cui molti sviluppatori di 4D scrivono il codice, rendendolo più generico, flessibile, semplice e veloce. Ora questa ondata di cambiamenti si è estesa a file e cartelle. In questo post vi mostreremo quanto sia facile manipolare un oggetto per recuperare gli attributi di un file o di una cartella (invece di richiamare diversi comandi e memorizzare le informazioni in più variabili). Le cose si fanno molto più semplici!
Gestione delle cartelle
Nuovi comandi 4D
È stato aggiunto un nuovo Folder che consente di creare un oggetto cartella da una costante, un percorso POSIX o un percorso di piattaforma.
myFolder:=Folder(fk desktop folder)
myFolder :=Folder("/RESOURCES/Images")
myFolder :=Folder("c:\\Archives\";Platform path)
Nuovo oggetto Cartella
L’oggetto cartella fornisce proprietà e metodi per creare e manipolare le cartelle.
Ecco alcuni esempi di proprietà delle cartelle:
// Name
$name:=myFolder.name
// Modification date
$date :=myFolder.modificationDate
// Modification time
$time:=myFolder.modificationTime
Sono disponibili anche dei metodi! È possibile create(), moveTo(), rename(), delete(), ecc.
// 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()
Gli oggetti cartella contengono riferimenti a cartelle che possono esistere o meno sul disco. Ad esempio, quando si esegue il metodo Folder per creare una nuova cartella, viene creato un oggetto cartella valido, ma nulla viene effettivamente memorizzato sul disco finché non si richiama il metodo create() .
newFolder=Folder(fk documents folder).folder("Archivio/2019")
$result :=newFolder.exists // return False
newFolder :=newFolder.create()
$result :=nuovaCartella.esiste // return True
Gestione dei file
Nuovi comandi 4D
È stato aggiunto anche un comando File per creare un oggetto file da una costante, un percorso POSIX o un percorso di piattaforma.
myFile:=File(User settings file)
myFile :=File("/RESOURCES/Images/picture.png")
myFile :=File(Structure file;fk platform path)
Oggetto nuovo file
Come per le cartelle, il nuovo oggetto file consente di accedere agli attributi dei file e di manipolarli.
// Name
$name:=myFile.name
// Extension
$extension :=myFile.extension
// Creation date
$date:=myFile.creationDate
// Creation time
$time:=myFile.creationTime
Come le cartelle, anche i file hanno dei metodi. È possibile scrivere e leggere il contenuto di un file, spostarlo, cancellarlo e così via.
// Create a file with
myFile.setText($text)
// Retrieve the content of the file
$text :=myFile.getText()
// Delete
myFile .delete()
Per l’elenco completo degli attributi e dei metodi, consultare il centro documentazione.