Differenze tra le versioni di "Visualizzare tutti gli elementi rilevanti di Gambas contenuti dal codice di un progetto"
(Creata pagina con "=In un progetto a ''riga di comando''= Se si intende vedere l'elenco di tutti gli elementi rilevanti del linguaggio Gambas contenuti dal codice di un progetto a <U>''riga di c...") |
(Nessuna differenza)
|
Versione delle 07:58, 11 lug 2024
In un progetto a riga di comando
Se si intende vedere l'elenco di tutti gli elementi rilevanti del linguaggio Gambas contenuti dal codice di un progetto a riga di comando, è 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
In un progetto con interfaccia grafica
Se si intende vedere l'elenco di tutti gli elementi rilevanti del linguaggio Gambas contenuti dal codice di un progetto a interfaccia grafica, si potrà utilizzare il codice che segue.
E' opportuno porre alla fine dei simboli da rilevare un segno di riferimento, per bloccare il controllo ai soli simboli necessari da rilevare del codice.
Public Sub Form_Open() Dim p1, p2, p3, p4 As Pointer Dim s As String Dim z As Short p1 = Object.Address(Me) s = "Testo qualsiasi." p2 = Pointer@(p1) p3 = Pointer@(p2 + (SizeOf(gb.Pointer) * 13)) For i As Integer = 0 To 183 If Byte@(p3 + i) == 36 Then Break Endif If Byte@(p3 + i) > 0 Then Print Chr(Byte@(p3 + i)); Else Print Endif Wait 0.01 Next ' Si prevede un simbolo di riferimento per bloccare l'elencazione dei simboli ai soli riferibili strettamente al presente codice: Dim $ As Byte End