Differenze tra le versioni di "Conoscere il mime-type di un file mediante le sole risorse di Gambas"

Da Gambas-it.org - Wikipedia.
Riga 20: Riga 20:
 
  <FONT Color=gray>' ''Verifica se l'estensione del file corrente sia comunque presente nel file "/usr/share/mime/globs":''</font>
 
  <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)
 
<FONT Color=gray>' ''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:''</font>
 
    gl = Replace(gl, "\n", " \n")
 
 
  <FONT Color=gray>' ''Individua ogni riga componente il contenuto testuale del file "/usr/share/mime/globs":''</font>
 
  <FONT Color=gray>' ''Individua ogni riga componente il contenuto testuale del file "/usr/share/mime/globs":''</font>
 
     ss = Split(gl, "\n")
 
     ss = Split(gl, "\n")
 
     For c = 0 To ss.Max
 
     For c = 0 To ss.Max
 
  <FONT Color=gray>' ''In ciascuna riga del file "globs" verifica se esiste la stringa contenuta nella variabile "est":''</font>
 
  <FONT Color=gray>' ''In ciascuna riga del file "globs" verifica se esiste la stringa contenuta nella variabile "est":''</font>
       If InStr(ss[c], est) Then
+
       If ss[c] Ends est Then
 
  <FONT Color=gray>' ''Estrapola la prima parte della riga, ossia quella relativa al "mime-type" correlato all'estensione:''</font>
 
  <FONT Color=gray>' ''Estrapola la prima parte della riga, ossia quella relativa al "mime-type" correlato all'estensione:''</font>
 
         ris = Scan(ss[c], "*:*")[0]
 
         ris = Scan(ss[c], "*:*")[0]
 +
        Break
 
       Endif
 
       Endif
 
     Next
 
     Next

Versione delle 14:12, 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
' 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 ss[c] Ends est Then
' Estrapola la prima parte della riga, ossia quella relativa al "mime-type" correlato all'estensione:
        ris = Scan(ss[c], "*:*")[0]
        Break
      Endif
    Next
  Endif
    
  Print ris
  
End