Differenze tra le versioni di "Conoscere via codice il nome di una Struttura"
Da Gambas-it.org - Wikipedia.
(Creata pagina con 'Per conoscere via codice l'etichetta identificativa di una ''Struttura'', si effettuerà una ricerca nella sua area di memoria, puntanto alla quale mediante apposito ''Puntato...') |
|||
(4 versioni intermedie di uno stesso utente non sono mostrate) | |||
Riga 1: | Riga 1: | ||
− | Per conoscere via codice l'etichetta identificativa di una ''Struttura'', si effettuerà una ricerca nella sua area di memoria, | + | Per conoscere via codice l'etichetta identificativa di una ''Struttura'' partendo dalla sua variabile, si effettuerà una ricerca nella sua area di memoria, puntando alla quale mediante apposito ''Puntatore'': |
− | Mostriamo un semplice esempio pratico: | + | Mostriamo un semplice esempio pratico valido per un sistema a 64bit, nel quale il nome (Etichetta) identificativo della Struttura è "STRUTTURA": |
− | Public Struct STRUTTURA | + | Public Struct <FONT Color=#B22222>STRUTTURA</font> |
b As Byte | b As Byte | ||
c As Short | c As Short | ||
Riga 10: | Riga 10: | ||
− | + | Public Sub Main() | |
− | + | Dim st As New <FONT Color=#B22222>STRUTTURA</font> | |
− | + | Dim p1, p2 As Pointer | |
− | <FONT Color=gray>' '' | + | <FONT Color=gray>' ''Punta all'Oggetto Struttura:''</font> |
p1 = Object.Address(st) | p1 = Object.Address(st) | ||
p2 = Pointer@(p1) | p2 = Pointer@(p1) | ||
− | Print "Nome della Struttura: " | + | Print "Nome della Struttura: "; String@(Pointer@(p2 + (SizeOf(gb.Pointer) * 3))) |
− | + | End |
Versione attuale delle 18:31, 7 giu 2024
Per conoscere via codice l'etichetta identificativa di una Struttura partendo dalla sua variabile, si effettuerà una ricerca nella sua area di memoria, puntando alla quale mediante apposito Puntatore:
Mostriamo un semplice esempio pratico valido per un sistema a 64bit, nel quale il nome (Etichetta) identificativo della Struttura è "STRUTTURA":
Public Struct STRUTTURA b As Byte c As Short i As Integer End Struct Public Sub Main() Dim st As New STRUTTURA Dim p1, p2 As Pointer ' Punta all'Oggetto Struttura: p1 = Object.Address(st) p2 = Pointer@(p1) Print "Nome della Struttura: "; String@(Pointer@(p2 + (SizeOf(gb.Pointer) * 3))) End