Differenze tra le versioni di "Collection"

Da Gambas-it.org - Wikipedia.
 
(12 versioni intermedie di uno stesso utente non sono mostrate)
Riga 1: Riga 1:
  ''<Font Color= #006400>' Gambas class file''</font>
+
Una '''Collection''' è una ''hash table'' <SUP>&#091;[[#Note|nota 1]]&#093;</sup>, ossia una "tabella" in cui ad un dato, o più dati, è associata una chiave. La ''Collezione'' permette di accedere al suo contenuto usando una chiave, senza tener conto di un indice come è invece per i vettori negli array e nelle matrici. <SUP>&#091;[[#Note|nota 2]]&#093;</sup>
 +
Private miaCollezione As New Collection
 
   
 
   
 
   
 
   
  miaCollezione As New Collection
+
  Public Sub Form_Open()
 
   
 
   
'''Public''' Sub Button1_Click()
+
  Dim primoValore As Byte
+
  Dim secondoValore As Integer
Dim primoValore As Byte
 
Dim secondoValore As Integer
 
 
   
 
   
 
   primoValore = 64
 
   primoValore = 64
 
   secondoValore = 4000
 
   secondoValore = 4000
 
   
 
   
    With miaCollezione
+
<FONT color=gray>' ''Impostiamo i membri della "Collection" inserendo un valore e la corrispondente "Chiave":''</font>
      .add(primoValore, "primoCampo")
+
  With miaCollezione
      .add(secondoValore, "secondoCampo")
+
<FONT color=gray>'          ''Valore    -    Chiave''</font>
      .add("terzoValore", "terzoCampo")
+
    .add(primoValore, "primaChiave")
    End With
+
    .add(secondoValore, "secondaChiave")
 +
    .add("terzoValore", "terzaChiave")
 +
  End With
 +
 +
<FONT color=gray>' ''Qualora si intenda creare in modo esplicito i membri della Collection attribuendo a ciascuno il valore con la rispettiva "Chiave", si procederà come segue:''
 +
' '''miaCollezione = ["primaChiave": "primoValore", "secondaChiave": "secondoValore", "terzaChiave": "terzoValore"]'''</font>
 
   
 
   
  '''End'''
+
  End
 
   
 
   
 
   
 
   
  '''Public''' Sub Button1_Click()
+
  Public Sub Button1_Click()
 
   
 
   
   Print miaCollezione["primoCampo"]  ''<Font Color= #006400>' scrive in console : 64''</font>
+
   Print miaCollezione["primaChiave"]  ''<Font Color= #006400>' scrive in console : 64''</font>
   Print miaCollezione["secondoCampo"]  ''<Font Color= #006400>' scrive in console: 4000''</font>
+
   Print miaCollezione["secondaChiave"]  ''<Font Color= #006400>' scrive in console: 4000''</font>
   Print miaCollezione["terzoCampo"]  ''<Font Color= #006400>' scrive in console: terzoValore''</font>
+
   Print miaCollezione["terzaChiave"]  ''<Font Color= #006400>' scrive in console: terzoValore''</font>
 
   
 
   
  '''End'''
+
  End
 +
 
  
  
 +
=Note=
  
====Richiamare un campo di una Collection in un'altra Collection====
+
[1] Un ''hash table'' è una struttura dati usata per mettere in corrispondenza una data chiave con un dato valore. (cfr. [http://it.wikipedia.org/wiki/Hash_table wikipedia])
  
  ''<Font Color= #006400>' Gambas class file''</font>
+
[2] Riportiamo di seguito quanto scritto dall'utente ''md9327'' nel forum di Gambas-it.org: "''La classe Collection gestisce una array indicizzato per chiave. Si può associare una colonna con un nome chiave. Questo oggetto è utile in quei casi in cui vogliamo identificare univocamente una colonna.''".
 
 
auto As New Collection
 
bici As New Collection
 
 
 
'''Public''' Sub Form_Open()
 
  Dim tipo, ruota As Byte
 
  Dim ts, sellino As Integer
 
 
  tipo = InputBox("Inserisci dato byte:")
 
  ruota = 144
 
  ts = 4000
 
  sellino = 10000
 
 
  With bici
 
      .add(ruota, "ruota")
 
      .add(sellino, "sellino")   
 
  End With
 
 
 
    With auto
 
      .add(tipo, "type")
 
      .add(ts, "motore")
 
      .add(123, “numeri”)
 
      .add("coda", "queue")
 
      .add(bici["ruota"], "bicicletta")
 
    End With
 
 
'''End'''
 
 
 
'''Public''' Sub Button1_Click()
 
 
  Print auto["type"''<Font Color= #006400>' scrive in console il valore immesso con l'inputbox''</font>
 
  Print auto["motore"]  ''<Font Color= #006400>' scrive in console: 4000''</font>
 
  Print auto["numeri”]  ''<Font Color= #006400>' scrive in console: 123''</font>
 
  Print auto["queue"]  ''<Font Color= #006400>' scrive in console: coda''</font>
 
  Print auto["q" & "ueue"]  ''<Font Color= #006400>' scrive in console: coda''</font>
 
  Print auto["bicicletta"]  ''<Font Color= #006400>' scrive in console: 144 (campo/valore dell'altra Collction “bicicletta”)''</font>
 
 
'''End'''
 

Versione attuale delle 11:55, 5 ago 2023

Una Collection è una hash table [nota 1], ossia una "tabella" in cui ad un dato, o più dati, è associata una chiave. La Collezione permette di accedere al suo contenuto usando una chiave, senza tener conto di un indice come è invece per i vettori negli array e nelle matrici. [nota 2]

Private miaCollezione As New Collection


Public Sub Form_Open()

 Dim primoValore As Byte
 Dim secondoValore As Integer

 primoValore = 64
 secondoValore = 4000

' Impostiamo i membri della "Collection" inserendo un valore e la corrispondente "Chiave":
 With miaCollezione
'           Valore    -    Chiave
   .add(primoValore, "primaChiave")
   .add(secondoValore, "secondaChiave")
   .add("terzoValore", "terzaChiave")
 End With

' Qualora si intenda creare in modo esplicito i membri della Collection attribuendo a ciascuno il valore con la rispettiva "Chiave", si procederà come segue:
' miaCollezione = ["primaChiave": "primoValore", "secondaChiave": "secondoValore", "terzaChiave": "terzoValore"]

End


Public Sub Button1_Click()

 Print miaCollezione["primaChiave"]   ' scrive in console : 64
 Print miaCollezione["secondaChiave"]   ' scrive in console: 4000
 Print miaCollezione["terzaChiave"]   ' scrive in console: terzoValore

End


Note

[1] Un hash table è una struttura dati usata per mettere in corrispondenza una data chiave con un dato valore. (cfr. wikipedia)

[2] Riportiamo di seguito quanto scritto dall'utente md9327 nel forum di Gambas-it.org: "La classe Collection gestisce una array indicizzato per chiave. Si può associare una colonna con un nome chiave. Questo oggetto è utile in quei casi in cui vogliamo identificare univocamente una colonna.".