Gli operatori logici in Visual Basic Net? Li trovi su Opentraining.it Visual Basic Italia
Guide e Tutorials:indexed
L'oggetto Collection (Articolo completo)

Attraverso l'oggetto Collection è possibile raggruppare più dati di tipo diverso in un singolo insieme (l'oggetto Collection, per l'appunto) in modo tale da aver a che fare solamente con un elemento, ossia l'insieme che li contiene.
Questo rappresenta una grossa comodità in fase di sviluppo visto che Collection non solo garantisce un maggior ordine nel codice, ma propone tutti i vantaggi di una matrice senza alcune limitazioni.
Prima di tutto i tipi di dati di cui si parlava poc'anzi: Byte, Boolean, Integer, Long, Currency, Decimal, Single, Double, Date, String, Object, Variant per citare i gruppi fondamentali. I tipi definiti dall'utente, nonché i tipi specifici di oggetto nel caso si utilizzino tipi di dati non espressamente previsti dal linguaggio. Un'istanza dell'oggetto Collection viene creato con le stesse modalità degli altri oggetti, ossia dichiarandolo come mostra la seguente linea di codice:

Dim Insieme As New Collection

Altro codice è però necessario per aggiungere degli elementi o membri all'insieme. Si dovrà in questo caso utilizzare il metodo Add. Ecco la sintassi:

OggettoCollection.Add item, key, before, after

dove OggettoCollection è l'insieme al quale si desidera assegnare un nuovo membro, item è un'espressione di qualsiasi tipo che specifica il membro da aggiungere all'insieme, key è un identificatore ossia espressione (in questo caso in forma di stringa) utile ad identificare e ad estrarre il membro dell'insieme. before e after indicano invece la posizione relativa nell' insieme: si può infatti estrarre un elemento in base alla posizione occupata dall'elemento che precede e a quello che segue. Indicando before il membro da aggiungere viene posizionato nell'insieme prima del membro identificato dall'argomento before, indicando after il membro da aggiungere viene posizionato nell'insieme dopo del membro identificato dall'argomento after.
Facciamo un esempio. Per dimostrare la versatilità dell'oggetto Collection in fatto di tipi di dati supportati, aggiungiamo all'insieme l'oggetto che rappresenta un'istanza della sessione di lavoro Excel.


Private Sub Form_Load()
Dim appExcel As New Excel.Application
Dim Insieme As New Collection
Insieme.Add appExcel, "1"
End Sub

Naturalmente per non generare un'errore sarà necessario importare nel progetto i riferimenti alla libreria corrispondente, sebbene non sia espressamente necessario nel codice esaminato.
Entriamo un po' più nello specifico. Quando utilizzare le variabili di tipo Variant? In generale le regole di assegnazione di un membro al tipo di dato Variant segue le regole specifiche del linguaggio (necessità di non assegnare volontariamente un dato ad una variabile specifica). Se ad esempio ad un dato Variant, prima di essere introdotto in una Collection, viene assengato un valore Integer, la Collection conterrà un Integer ma niente impedirà al momento dell'estrazione di mutare tale membro in un qualsiasi altro tipo di dato.
Si supponga ad esempio di avere una casella di testo nel quale l'utente dovrà inserire un numero. Alla pressione di un pulsante il numero viene moltiplicato per due. Siccome i dati contenuti in una TextBox sono in forma di stringa, la variabile Variant corrispondente a TextBox1.Text sarà considerata come String e quindi una moltiplicazione genererà l'errore 'Tipo non corrispondente'.
Terminata questa parentesi, proseguiamo l'analisi dell'oggetto. La rimozione dei dati avviene avvalendosi del metodo Remove che ha la seguente sintassi:

OggettoCollection.Remove index

dove index rappresenta l'indice univoco assegnato al momento dell'inclusione del membro nell'insieme.
Ultimo metodo supportato è Item che restituisce un elemento in base all'indice assegnatogli.
La sintassi è la seguente:

OggettoCollection.Item index

Unica proprietà dell'oggetto Collection è Count che permette di calcolare il totale degli elementi presenti nella collezione. Ecco la sintassi:

OggettoCollection.Count

Altro discorso vale per il ciclo For Each...Next per il quale è possibile eseguire un loop tra gli elementi dell'insieme, utilizzando una sintassi del tipo:

For Each elemento In insieme
istruzione
Next elemento

Per cui sarà ad esempio possibile prendere uno ad uno gli elementi della collezione per verificarne le proprietà, per aggiungerli ad un controllo ListBox e così via.


Archivio:ndexed
Lezioni Commenta questa lezione Invia la tua guida Avviso per le nuove lezioni
Proponi un argomento

Visual Basic Italia© copyright 2000 - tutti i diritti riservati
E-mail:
vbitalia@libero.it