Differenze tra le versioni di "Conoscere il mime-type di un file mediante le funzioni esterne del API di libgio"

Da Gambas-it.org - Wikipedia.
 
(4 versioni intermedie di uno stesso utente non sono mostrate)
Riga 3: Riga 3:
 
E' possibile con alcune funzioni della libreria ''Libgio'' conoscere il ''mime-type'' di un file.
 
E' possibile con alcune funzioni della libreria ''Libgio'' conoscere il ''mime-type'' di un file.
  
Sarà necessario richiamare la libreria (nella sua attuale versione): ''libgio-2.0.so.0.4002.0''
+
E' necessario avere installata nel sistema e richiamare in Gambas la libreria condivisa: "''libgio-2.0.so.0.7200.4'' ".
 
 
  
 
Mostriamo di seguito un semplice esempio pratico:
 
Mostriamo di seguito un semplice esempio pratico:
  Library "libgio-2.0:0.4002.0"
+
  Library "libgio-2.0:0.7200.4"
 
   
 
   
 
  <FONT Color=gray>' ''gchar * g_content_type_guess (const gchar *filename, const guchar *data, gsize data_size, gboolean *result_uncertain)
 
  <FONT Color=gray>' ''gchar * g_content_type_guess (const gchar *filename, const guchar *data, gsize data_size, gboolean *result_uncertain)
 
  ' ''Guesses the content type based on example data.''</font>
 
  ' ''Guesses the content type based on example data.''</font>
 
  Private Extern g_content_type_guess(filename As String, data As Pointer, data_size As Integer, result_uncertain As Pointer) As Pointer
 
  Private Extern g_content_type_guess(filename As String, data As Pointer, data_size As Integer, result_uncertain As Pointer) As Pointer
 +
 +
<FONT Color=gray>' ''void g_free (gpointer mem)''
 +
' ''Frees the memory pointed to by mem.''</font>
 +
  Private Extern g_free(mem As Pointer)
 
    
 
    
 
   
 
   
Riga 18: Riga 21:
 
   Dim tipo As Pointer
 
   Dim tipo As Pointer
 
    
 
    
  tipo = g_content_type_guess("<FONT Color=gray>''/percorso/del/file''</font>", 0, 0, 0)
+
  tipo = g_content_type_guess("<FONT Color=gray>''/percorso/del/file''</font>", 0, 0, 0)
 +
  If tipo == 0 Then Error.Raise("Errore !")
 
   
 
   
  Print String@(tipo)
+
  Print String@(tipo)
 +
 
 +
  g_free(tipo)
 
   
 
   
 
  '''End'''
 
  '''End'''
 
  
  
  
 
=Riferimenti=
 
=Riferimenti=
* [https://developer.gnome.org/gio/stable/gio-GContentType.html GContentType — Platform-specific content typing]
+
* https://docs.gtk.org/gio/func.content_type_guess.html

Versione attuale delle 15:19, 1 mag 2023

La libreria Libgio fornisce un'astrazione del file system che permette alle applicazioni di accedere ai file locali e remoti.

E' possibile con alcune funzioni della libreria Libgio conoscere il mime-type di un file.

E' necessario avere installata nel sistema e richiamare in Gambas la libreria condivisa: "libgio-2.0.so.0.7200.4 ".

Mostriamo di seguito un semplice esempio pratico:

Library "libgio-2.0:0.7200.4"

' gchar * g_content_type_guess (const gchar *filename, const guchar *data, gsize data_size, gboolean *result_uncertain)
' Guesses the content type based on example data.
Private Extern g_content_type_guess(filename As String, data As Pointer, data_size As Integer, result_uncertain As Pointer) As Pointer

' void g_free (gpointer mem)
' Frees the memory pointed to by mem.
 Private Extern g_free(mem As Pointer)
 

Public Sub Main()

 Dim tipo As Pointer
 
 tipo = g_content_type_guess("/percorso/del/file", 0, 0, 0)
 If tipo == 0 Then Error.Raise("Errore !")

 Print String@(tipo)
  
 g_free(tipo)

End


Riferimenti