VB6 - FUNZIONE ARRAY MULTIDIMENZIONALI
Introduzione Array/Vettore (Visual Basic 6 / VB6) :
Possiamo vedere l'Array come un Vettore.Il vettore è un insieme di variabili di un determinato tipo accessibili tramite un indice.
Per esempio se si pensa ad una variabile come ad un cassetto che contiene delle calze, un vettore rappresenta una serie di cassetti che contengono tutte le calze.
Anche se può non risultare chiaro cosa sia un vettore, tramite un esempio si denoterà immediatamente la sua utilità.
Definizione sintattica di un vettore
Dim [nomeVettore](dimensione) As [Tipo]
nomeVettore = nome attribuito al vettore
dimensione = valore massimo assunto dall'indice, quindi se vale 2 il numero di elementi è 3. Numero Elementi = indiceMax + 1
tipo = tipo dati da memorizzare nel vettore
CODICE
Dim Vettore(2) As Integer
Il codice appena scritto evidenzia la dichiarazione di un vettore di 3 elementi, pensando all'esempio di prima rappresenta un insieme di 3 cassetti, ognuno dei quali contiene solamente valori di tipo Integer. Il motivo che sono 3 elementi perché l'indice parte da 0-1-2 .
Se però si decide di utilizzare un vettore, ma non se ne conosce l'esatta dimensione, ad esempio se si volesse creare un programma che richiede di inserire la dimensione del vettore la cosa cambia. Per fare questo si deve utilizzare un parola chiave ReDim per la redifinizione del vettore.
CODICE
Dim vettore_1() As Integer 'Dichiarazione di un vettore senza dimensione
ReDim vettore_1(2) As Integer 'Redifinizione del vettore ma con dimensione 3
ReDim vettore_1(3) As Integer 'Redifinizione del vettore ma con dimensione 4
Funzione Multidimensionale che passato un Array 2x2 la trasforma in un Array 5x2 :
'Variabile costanti per
Const MaxRiga = 1
Const MaxColonna = 1
Private Function OperazioneArray()
'Inizializzo l'array 2x2
Dim ArrayMultidimensionale(0 To MaxRiga, 0 To MaxColonna) As String
ArrayMultidimensionale(0, 0) = "1"
ArrayMultidimensionale(0, 1) = "2"
ArrayMultidimensionale(1, 0) = "3"
ArrayMultidimensionale(1, 1) = "4"
'Stampo Array 2x2
For i = 0 To MaxRiga
For j = 0 To MaxColonna
Debug.Print "Valore Array(" & i & " , " & j & " ) = " & ArrayMultidimensionale(i, j)
Next
Next
'Stampa una riga di demarcazione
Debug.Print "---------------------------------------------------------"
'nuove variabili che servono a contenere la nuova grandezza dell'Array
Dim MassimoRiga As Integer
Dim MassimoColona As Integer
MassimoRiga = 5 'Potete scegliere di usare un Text per leggere l'informazione
MassimoColonna = 1 'Potete scegliere di usare un Text per leggere l'informazione
'Inizializzo l'array 5x1 vuoto
ReDim Arrays(0 To MassimoRiga, 0 To MassimoColonna) As String
'Carico Array 1x1 nell'array 5x1
For i = 0 To MaxRiga
For j = 0 To MaxColonna
Arrays(i, j) = ArrayMultidimensionale(i, j)
Next
Next
'aggiungo altri parametri
Arrays(2, 0) = "5"
Arrays(2, 1) = "6"
Arrays(3, 0) = "7"
Arrays(3, 1) = "8"
'Stampo Array 5x1 completo
For i = 0 To MassimoRiga
For j = 0 To MassimoColonna
Debug.Print "Valore Array(" & i & " , " & j & " ) = " & Arrays(i, j)
Next
Next
End Function
Private Sub Form_Load()
'richiama una funzione
Call OperazioneArray
End Sub