Differenze tra le versioni di "Conoscere il mime-type di un file mediante le sole risorse di Gambas"
Da Gambas-it.org - Wikipedia.
(Creata pagina con "Per conoscere il "''mime-type''" di un determinato file con le sole risorse native di Gambas, si potrà cercare la corrispondenza fra l'estensione di questo file con il ''mime...") |
|||
Riga 18: | Riga 18: | ||
est = ":*." & LCase(File.Ext(percorsofile)) | est = ":*." & LCase(File.Ext(percorsofile)) | ||
− | <FONT Color=gray>' ''Verifica se l'estensione del file corrente | + | <FONT Color=gray>' ''Verifica se l'estensione del file corrente sia comunque presente nel file "/usr/share/mime/globs":''</font> |
If InStr(gl, est) Then | If InStr(gl, est) Then | ||
est &= Chr(&20) | est &= Chr(&20) |
Versione delle 11:21, 2 giu 2017
Per conoscere il "mime-type" di un determinato file con le sole risorse native di Gambas, si potrà cercare la corrispondenza fra l'estensione di questo file con il mime-type riportata nell'ampia lista contenuta nel file di sistema "/usr/share/mime/globs".
Potremo adottare il seguente codice:
Private Const globs As String = "/usr/share/mime/globs" Public Sub Main() Dim percorsofile, gl, ris, est As String Dim ss As String[] Dim c As Short ' Specifica il file di cui cercare il corrispondente "mime-type": percorsofile = "/percorso/del/file" gl = File.Load(globs) ris = "L'estensione del file non è presente nel database dei 'mime-type' !" est = ":*." & LCase(File.Ext(percorsofile)) ' Verifica se l'estensione del file corrente sia comunque presente nel file "/usr/share/mime/globs": If InStr(gl, est) Then est &= Chr(&20) ' Fa precedere ciascun carattere escape "\n" da uno spazio per evitare che venga riportato un 'mime-type' ' relativo ad un'estensione analoga, ma non esattamente quella posseduta dal file ricercato: gl = Replace(gl, "\n", " \n") ' Individua ogni riga componente il contenuto testuale del file "/usr/share/mime/globs": ss = Split(gl, "\n") For c = 0 To ss.Max ' In ciascuna riga del file "globs" verifica se esiste la stringa contenuta nella variabile "est": If InStr(ss[c], est) Then ' Estrapola la prima parte della riga, ossia quella relativa al "mime-type" correlato all'estensione: ris = Scan(ss[c], "*:*")[0] Endif Next Endif Print ris End