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.
(2 versioni intermedie di uno stesso utente non sono mostrate) | |||
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) | ||
Riga 32: | Riga 32: | ||
Print | Print | ||
Endif | Endif | ||
− | |||
Next | Next | ||
'''End''' | '''End''' | ||
− | Per conoscere il nome del Modulo che contiene questo codice, si farà partire il ciclo | + | Per conoscere il nome del Modulo che contiene questo codice, si farà partire il ciclo "FOR" da -8 o più oltre. |
Versione attuale delle 16:25, 11 set 2022
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 End
Per conoscere il nome del Modulo che contiene questo codice, si farà partire il ciclo "FOR" da -8 o più oltre.