Conoscere in runtime il numero identificatore di un tipo di dato di una variabile presente nel codice

Da Gambas-it.org - Wikipedia.
Versione del 5 apr 2023 alle 09:38 di Vuott (Discussione | contributi) (Creata pagina con "Nel file dei sorgenti di Gambas "''/home/[USER]/gambasdevel/main/share/gambas.h'' " è presenti - quasi all'inizio - l'elenco dei numeri identificati dei tipi di dati (''Gamba...")

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

Nel file dei sorgenti di Gambas "/home/[USER]/gambasdevel/main/share/gambas.h " è presenti - quasi all'inizio - l'elenco dei numeri identificati dei tipi di dati (Gambas datatypes identifiers ), previsti da Gambas.
Per conoscere a quale numero identificativo di tipo di dato appartiene una variabile dichiarata nel codice, si dovrà ottenere l'indirizzo di memoria di tale variabile e sottrarre a questo 8 unità come segue:

Public Sub Main()

 Dim p As Pointer
 Dim id As Short  ' Pone un variabile di tipo "Short" da verificare:

 p = VarPtr(id)

' Trova il numero identificativo del tipo di dato della variabile:
 Print "Gambas datatype identifier: "; Byte@(p - 8)

End

Se la viariabile, di cui trovare il numero identificativo del tipo tipo di dato, è una Struttura, allora avremo:

Public Struct Struttura
  b As Byte
  c As Short
End Struct

Private id As Struct Struttura


Public Sub Main()

 Dim p As Pointer

 p = VarPtr(id)

 Print "Gambas datatype identifier: "; Byte@(p - 8)

End