Differenze tra le versioni di "Visualizzare l'elenco di tutti gli elementi rilevanti del linguaggio Gambas contenuti dal codice del progetto"
Da Gambas-it.org - Wikipedia.
Riga 1: | Riga 1: | ||
− | Se si intende vedere l'elenco di tutti gli elementi rilevanti del linguaggio Gambas contenuti dal codice del progetto, è possibile dereferenziare opportunamente il ''Puntatore'' ottenuto dal Metodo " | + | Se si intende vedere l'elenco di tutti gli elementi rilevanti del linguaggio Gambas contenuti dal codice del progetto, è possibile dereferenziare opportunamente il ''Puntatore'' ottenuto dal Metodo "Object.Address()", nel quale sia stato posto come suo argomento la parola-chiave "Me". |
<BR>Gli elementi presenti nel codice possono essere anche dichiarati come "''Privati''". | <BR>Gli elementi presenti nel codice possono essere anche dichiarati come "''Privati''". | ||
Riga 6: | Riga 6: | ||
'''Public''' Sub Main() | '''Public''' Sub Main() | ||
− | + | Dim p As Pointer | |
− | + | Dim s As String | |
p = Object.Address(Me) | p = Object.Address(Me) | ||
Riga 20: | Riga 20: | ||
'''Private''' Procedure Visualizza(po As Pointer) | '''Private''' Procedure Visualizza(po As Pointer) | ||
− | + | Dim i As Integer | |
− | + | Dim p1, p2 As Pointer | |
p1 = Pointer@(po + SizeOf(gb.Pointer) * 5) | p1 = Pointer@(po + SizeOf(gb.Pointer) * 5) |
Versione delle 15:07, 11 ago 2021
Se si intende vedere l'elenco di tutti gli elementi rilevanti del linguaggio Gambas contenuti dal codice del progetto, è possibile dereferenziare opportunamente il Puntatore ottenuto dal Metodo "Object.Address()", nel quale sia stato posto come suo argomento la parola-chiave "Me".
Gli elementi presenti nel codice possono essere anche dichiarati come "Privati".
Mostriamo un semplice esempio pratico:
Public Sub Main() Dim p As Pointer Dim s As String p = Object.Address(Me) s = "Testo qualsiasi." Visualizza(p) End Private Procedure Visualizza(po As Pointer) Dim i As Integer Dim p1, p2 As Pointer p1 = Pointer@(po + SizeOf(gb.Pointer) * 5) p2 = Pointer@(p1) For i = 0 To 87 If Byte@(p2 + i) > 0 Then Print Chr(Byte@(p2 + i)); Else Print Endif Next Next End
Per conoscere il nome del Modulo che contiene questo codice, si farà partire il ciclo For da -8 o più oltre.