4D semplifica la vita degli sviluppatori con due nuovi comandi che consentono di gestire facilmente i percorsi di file e cartelle. Risparmiate tempo prezioso con il comando Path to object che, con una sola riga di codice, estrae l’estensione, il nome del file o la cartella di origine. Quindi è possibile modificare e ricombinare i diversi attributi dell’oggetto per comporre un nuovo percorso con Object to path.
Estrarre gli elementi del percorso
Con Path to objectè possibile dividere facilmente i percorsi in diverse parti, restituite come attributi di oggetti:
- Cartella madre
- Nome
- Estensione
- È una cartella o no
// Dividere un percorso scritto con il delimitatore di sistema
$pathSys:=Pathto object("C:\4D\resources\images\4D.jpg")
//$pathSys.parentFolder="C:\4D\resources\images\"
//$pathSys.name="4D"
//$pathSys.extension=".jpg"
//$pathSys.isFolder=False
Si noti che il comando supporta sia i percorsi di sistema che quelli POSIX. È anche in grado di capire se è stata passata una cartella o un file in base all’ultimo carattere del parametro di input path.
Costruire il percorso
Ora si dispone di un modo semplice per modificare gli elementi di un percorso e ricostruirlo con il comando Object to path con il comando . Facile!
// Duplica un documento nella sua cartella:
$path:="c:\mp\file.txt"
$o:=Pathto object($path)
// Rinomina il documento
$o.name:=$o.name+"_copy"
// Crea una copia del documento
COPY DOCUMENT($path;object to path($o))
È inoltre possibile utilizzare l’oggetto restituito in qualsiasi comando 4D che richieda un percorso:
$o:=Percorsoall'oggetto("C:\\4D\resources\images\4D.jpg")
$doc:=Selezionadocumento($o.nome+$o.estensione;$o.estensione; "Salva con nome";voce Nome file)
I comandi Path to object e Object to path devono ora essere utilizzati per sostituire le chiamate ai comandi deprecati _o_Document type e _o_SET DOCUMENT TYPE.
Miglioramento delle prestazioni
È sempre bene ricordare che 4D v16 R6 sfrutta appieno le moderne API di sistema di macOS per la manipolazione di file e cartelle. Abbiamo eseguito dei test di benchmark eseguendo varie operazioni come l’elenco dei contenuti delle cartelle, il controllo delle proprietà dei file, la lettura o la copia di piccoli file, su cartelle con migliaia di file.
I risultati mostrano che il tempo di esecuzione è 6 volte più veloce in generale e fino a 30 volte più veloce quando si elencano i file presenti in una determinata posizione.