Estrarre il valore di una costante definita in un file d'intestazione in C

Da Gambas-it.org - Wikipedia.
Versione del 3 giu 2014 alle 04:57 di Vuott (Discussione | contributi) (Creata pagina con 'Per estrarre il valore di una costante eventualmente presente in un file d'intestazione (''.h''), evitando così di dichiarane una identica anche nel codice Gambas, si potrà ...')

(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)

Per estrarre il valore di una costante eventualmente presente in un file d'intestazione (.h), evitando così di dichiarane una identica anche nel codice Gambas, si potrà utilizzare la seguente funzione:

' I due parametri di tipo stringa della funzione rappresentano rispettivamente:
' - "fileh" = il percorso del file d'intestazione scritto in C;
' - "costante" = il preprocessore "#define" seguito dal nome identificativo della costante di cui si intende estrarre il valore definito.
Private Function RicavaCostante(fileh As String, costante As String) As String
 
 Dim fl As File
 Dim s As String

   fl = Open fileh
   
   While True
     s = fl.ReadLine()
     If s Begins costante Then
       s = Replace$(s, costante, Null)
' Elimina un eventuale commento alla destra del valore della costante:
       If s Like "*/*" Then s = Trim(Left(s, InStr(s, "/") - 1))
' Adatta un eventuale valore esadecimale per una sua corretta gestione nel codice Gambas:
       If s Begins "0x" Then s = Trim(Replace(s, "0x", "00"))
       Break
     Endif
   Wend
   
   fl.Close()
   
   Return s
 
End