Notazione a oggetti per gestire file e cartelle

Tradotto automaticamente da Deepl

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!

Esempio di database

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.

Vanessa Talbot
- Product Owner - Vanessa Talbot è entrata a far parte del team di 4D Program nel giugno 2014. In qualità di Product Owner, è incaricata di scrivere le storie degli utenti e di tradurle in specifiche funzionali. Il suo ruolo è anche quello di assicurarsi che l'implementazione della funzionalità fornita soddisfi le esigenze del cliente. Ha lavorato sulla maggior parte delle nuove funzionalità di multi-threading preemptive e anche su un argomento molto complesso: la nuova architettura per le applicazioni con motore. Vanessa si è laureata presso Telecom Saint-Etienne. Ha iniziato la sua carriera presso il Criminal Research Institute come sviluppatrice per il dipartimento audiovisivo. Ha lavorato anche nei settori dei media e della medicina come esperta di supporto tecnico, produzione e documentazione di nuove funzionalità.