Differenze tra le versioni di "Utilizzare la proprietà .Tag come un array di tipo Variant"

Da Gambas-it.org - Wikipedia.
 
(3 versioni intermedie di uno stesso utente non sono mostrate)
Riga 1: Riga 1:
La Proprietà ''.Tag'' di un oggetto può essere anche utilizzata come un ''array'' di tipo ''Variant'', e pertanto capace di contenere valori di diverso tipo.
+
La Proprietà ".Tag" di un Oggetto può essere anche utilizzata come un ''array'' di tipo ''Variant'', e pertanto capace di contenere valori di diverso tipo.
  
Affinché ciò sia possibile, è necessario assegnare alla Proprietà ''.Tag'' un array di valori:
+
Affinché ciò sia possibile, è necessario assegnare alla Proprietà ".Tag" un array di valori:
 
  oggetto.Tag = [valore_1, valore_2, etc...]
 
  oggetto.Tag = [valore_1, valore_2, etc...]
 
+
Mostriamo un esempio, nel quale la Proprietà ".Tag" di un ''Button'' conterrà valori di diverso tipo: una stringa, un valore numerico, una variabile di tipo Struttura, una variabile array di tipo byte, una variabile stringa ed una di tipo byte;
Mostriamo un esempio, nel quale la proprietà ''.Tag'' di un ''Button'' conterrà valori di diverso tipo: una stringa, un valore numerico, una variabile di tipo Struttura, una variabile array di tipo byte, una variabile stringa ed una di tipo byte;
+
  Public Struct STRUTTURA
  '''Public''' Struct provStrutt
+
   b As Byte
   a As Byte
+
   i As Integer
   b As Integer
+
   s As String
   c As String
+
  End Struct
  '''End''' Struct
 
 
'''Private''' pStr As New ProvStrutt
 
 
   
 
   
 
   
 
   
  '''Public''' Sub Button1_Click()
+
  Public Sub Button1_Click()
 
   
 
   
 +
  Dim stt As New STRUTTURA
 
   Dim prova As String = "prova Tag"
 
   Dim prova As String = "prova Tag"
   Dim arrarr As New Byte[]
+
   Dim bb As New Byte[]
   Dim j As Byte
+
   Dim b As Byte
 
   
 
   
   With pStr
+
   With stt
     .a = 10
+
     .b = 10
     .b = 1000
+
     .i = 100000
     .c = "c = " & Str(.a + .b)
+
     .s = "s = " & Str(.b + .i)
 
   End With
 
   End With
 
   
 
   
   For j = 0 To 9
+
   For b = 0 To 9
     arrarr.Add(j + 100)
+
     bb.Add(100 + b)
 
   Next
 
   Next
 
   
 
   
 
   With Button1
 
   With Button1
  <FONT color=#006400>' ''Assegno un array formato da valori e variabili al .Tag del Button:''</font>
+
  <FONT color=gray>' ''Assegna un array formato da valori e variabili al .Tag del Button:''</font>
     .Tag = ["testo qualsiasi", 324, prova, arrarr, pStr]
+
     .Tag = ["testo qualsiasi", 324, prova, bb, stt]
  <FONT color=#006400>' ''Poi li vado a vedere:''</font>
+
  <FONT color=gray>' ''Poi li mostra in console:''</font>
 
     Print .Tag[0]
 
     Print .Tag[0]
 
     Print .Tag[1]
 
     Print .Tag[1]
 
     Print .Tag[2]
 
     Print .Tag[2]
    Print .Tag[3]
+
  <FONT color=gray>' ''Mostra i valori assegnati agli elementi della variabile array:''</font>
  <FONT color=#006400>' ''Mostra i valori assegnati agli elementi della variabile array:''</font>
+
     For b = 0 To bb.Max
     For j = 0 To 9
+
       Print .Tag[3][b]
       Print .Tag[4][j]
 
 
     Next
 
     Next
  <FONT color=#006400>' ''Mostra i valori contenuti dagli elementi della variabile di tipo "Struttura":''</font>
+
  <FONT color=gray>' ''Mostra i valori contenuti dagli elementi della variabile di tipo "Struttura":''</font>
     Print .Tag[5].a
+
     Print .Tag[4].b
     Print .Tag[5].b
+
     Print .Tag[4].i
     Print .Tag[5].c
+
     Print .Tag[4].s
 
   End With
 
   End With
 
   
 
   
  '''End'''
+
  End

Versione attuale delle 20:47, 5 ago 2023

La Proprietà ".Tag" di un Oggetto può essere anche utilizzata come un array di tipo Variant, e pertanto capace di contenere valori di diverso tipo.

Affinché ciò sia possibile, è necessario assegnare alla Proprietà ".Tag" un array di valori:

oggetto.Tag = [valore_1, valore_2, etc...]

Mostriamo un esempio, nel quale la Proprietà ".Tag" di un Button conterrà valori di diverso tipo: una stringa, un valore numerico, una variabile di tipo Struttura, una variabile array di tipo byte, una variabile stringa ed una di tipo byte;

Public Struct STRUTTURA
  b As Byte
  i As Integer
  s As String
End Struct


Public Sub Button1_Click()

 Dim stt As New STRUTTURA
 Dim prova As String = "prova Tag"
 Dim bb As New Byte[]
 Dim b As Byte

 With stt
   .b = 10
   .i = 100000
   .s = "s = " & Str(.b + .i)
 End With

 For b = 0 To 9
   bb.Add(100 + b)
 Next

 With Button1
' Assegna un array formato da valori e variabili al .Tag del Button:
   .Tag = ["testo qualsiasi", 324, prova, bb, stt]
' Poi li mostra in console:
   Print .Tag[0]
   Print .Tag[1]
   Print .Tag[2]
' Mostra i valori assegnati agli elementi della variabile array:
   For b = 0 To bb.Max
     Print .Tag[3][b]
   Next
' Mostra i valori contenuti dagli elementi della variabile di tipo "Struttura":
   Print .Tag[4].b
   Print .Tag[4].i
   Print .Tag[4].s
 End With

End