Differenze tra le versioni di "Vedere in runtime tutte le variabili locali presenti in un'applicazione"

Da Gambas-it.org - Wikipedia.
 
Riga 1: Riga 1:
 
Vediamo in questa pagina una curiosità, ossia come sia possibile vedere in runtime l'identificatore di tutte le variabili ''locali'' presenti nel ''Modulo'' o una ''Classe'' dell'applicazione.
 
Vediamo in questa pagina una curiosità, ossia come sia possibile vedere in runtime l'identificatore di tutte le variabili ''locali'' presenti nel ''Modulo'' o una ''Classe'' dell'applicazione.
  
Ci serviremo di un ''Puntatore'' ad una variabile di tipo ''Stringa'' che sia stata istanziata con almeno due caratteri.
+
<FONT Color=red Size=5><B>Pagina in costruzione !</b></font>
 
 
 
 
Mostriamo un breve esempio pratico:
 
'''Public''' Sub Main()
 
 
 
  Dim s As String
 
  Dim p As Pointer
 
  Dim i As Integer
 
 
 
<FONT Color=gray>' ''La variabile stringa deve contenere almeno due caratteri:''</font>
 
  s = "a "
 
   
 
  p = VarPtr(s)
 
   
 
  For i = 0 To 23
 
    Print i, Byte@(p + i), Chr(Byte@(p + i))
 
  Next
 
 
 
'''End'''
 
 
 
 
 
Di seguito un altro esempio un po' più complesso del precedente:
 
Private Const LAT As Short = 256
 
 
 
'''Public''' Sub Main()
 
 
 
  Dim s As String
 
  Dim po As Pointer
 
  Dim c As Integer
 
  Dim bb As Byte[]
 
  Dim st As Stream
 
  Dim i As Integer
 
 
 
  s = "Testo qualsiasi"
 
 
 
  po = VarPtr(s)
 
  If po = 0 Then Error.Raise("Puntatore non valido !")
 
   
 
  st = Memory po For Read
 
 
 
  With bb = New Byte[LAT]
 
    .Read(st, 0, bb.Count)
 
    s = .ToString(0, bb.Count)
 
  End With
 
  st.Close
 
 
 
  c = InStr(s, Chr(&40) & Chr(&6E) & Chr(&65))
 
 
 
  s = bb.ToString(c + 4, InStr(s, "\x00\x00", c) - (c + 4))
 
 
 
  Print "Elenco delle variabili 'locali' presenti:\n"
 
  Print Replace(s, "\x00", "\n")
 
 
 
'''End'''
 
 
 
'''Private''' Procedure Nomen(b As Byte)
 
 
  Dim sh As Short
 
  Dim n As Integer
 
  Dim v As Variant
 
 
 
'''End'''
 

Versione attuale delle 09:06, 5 apr 2023

Vediamo in questa pagina una curiosità, ossia come sia possibile vedere in runtime l'identificatore di tutte le variabili locali presenti nel Modulo o una Classe dell'applicazione.

Pagina in costruzione !