Xojo nativamente ha la possibilità di aprire un file (FolderItem) durante l’esecuzione del codice. Se si vuole solamente vedere la cartella in cui il file è contenuto, allora utilizziamo lo stesso comando sull’elemento padre del nostro file. Ma come fare per evidenziarlo?
L’operazione è utile specie nei casi in cui ci siano molti file nella cartella e quindi l’utente sarebbe costretto a cercarlo “manualmente”.
Per fare questo è possibile utilizzare una estensione per la classe FolderItem che permette, in modo assolutamente cross-platform, di evidenziare sul desktop il nostro file.
Una volta inserito il metodo in un modulo la chiamata sarà semplicemente:
mioFile.hiliteOnDesktop |
Ecco il codice per il metodo:
Public Sub hiliteOnDesktop(extends f as FolderItem) dim cmd as Text #if TargetWindows //per windows utilizziamo explorer cmd="explorer.exe /select,"+f.NativePath.ToText #elseif TargetMacOS //per macOS utilizziamo il comando open con l'opzione -R cmd="open -R """+f.NativePath.ToText+"""" #else //per linux o raspberry non possiamo selezionare il file //per cui apriamo la cartella che lo contiene //utilizzando il comando da terminale cmd="xdg-open """+f.Parent.NativePath.ToText+"""" #endif //utilizziamo una shell per questo dim sh as new Shell sh.Execute cmd //se ci sono errori utilizziamo il metodo nativo sul parent if sh.Error<>0 then f.parent.Launch end if End Sub |
Ancora un esempio di come il linguaggio Xojo sia possa ampliare semplicemente.