Differenze tra le versioni di "Conoscere in runtime il numero identificatore di un tipo di dato di una variabile presente nel codice"
Da Gambas-it.org - Wikipedia.
(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...") |
|||
Riga 1: | Riga 1: | ||
− | Nel file dei sorgenti di Gambas "''/home/[USER]/gambasdevel/main/share/gambas.h'' " è presenti - quasi all'inizio - l'elenco dei numeri | + | Nel file dei sorgenti di Gambas "''/home/[USER]/gambasdevel/main/share/gambas.h'' " è presenti - quasi all'inizio - l'elenco dei numeri identificatore dei tipi di dati (''Gambas datatypes identifiers'' ), previsti da Gambas. |
− | <BR>Per conoscere a quale numero | + | <BR>Per conoscere a quale numero identificatore 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() | Public Sub Main() | ||
Riga 8: | Riga 8: | ||
p = VarPtr(id) | p = VarPtr(id) | ||
− | <FONT Color=ray>' ''Trova il numero | + | <FONT Color=ray>' ''Trova il numero identificatore del tipo di dato della variabile:''</font> |
Print "Gambas datatype identifier: "; Byte@(p <B>- 8</b>) | Print "Gambas datatype identifier: "; Byte@(p <B>- 8</b>) | ||
End | End | ||
− | Se la viariabile, di cui trovare il numero | + | Se la viariabile, di cui trovare il numero identificatore del tipo tipo di dato, è una ''Struttura'', allora avremo: |
Public Struct Struttura | Public Struct Struttura | ||
b As Byte | b As Byte |
Versione delle 08:41, 5 apr 2023
Nel file dei sorgenti di Gambas "/home/[USER]/gambasdevel/main/share/gambas.h " è presenti - quasi all'inizio - l'elenco dei numeri identificatore dei tipi di dati (Gambas datatypes identifiers ), previsti da Gambas.
Per conoscere a quale numero identificatore 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 identificatore del tipo di dato della variabile: Print "Gambas datatype identifier: "; Byte@(p - 8) End
Se la viariabile, di cui trovare il numero identificatore 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