PDA

Visualizza versione completa : VB6 - Passaggio matrice ad una funzione


Mentos
19-05-2003, 11.15.13
Ho un lapsus freudiano, devo passare una matrice ad una funzione ma non mi ricordo come si fa

qualcuno può aiutarmi??

Dim Vet(4,50) as string

Private Sub Form_Load()
'faccio delle operazioni di riempimento della matrice

'Richiamo la funzione
Elabora_Matrice (Vet)

End Sub

private function Elabora_Matrice(come passo qui la matrice????)

End Function

LoryOne
19-05-2003, 12.05.56
Le matrici per essere passate come parametro ad una funzione devono essere di tipo variant e passate esclusivamente by reference.

Ciao :)

LoryOne
19-05-2003, 12.06.54
private function Elabora_Matrice(Vet())

End Function

LoryOne
19-05-2003, 12.20.09
Questo piccolo codice ti sarà sicuramente di aiuto


Dim vet(1 To 2, 1 To 2) As Variant

Private Sub Form_Load()
'faccio delle operazioni di riempimento della matrice
vet(1, 1) = "Lory"
vet(1, 2) = "yroL"
vet(2, 1) = "One"
vet(2, 2) = "enO"
'Richiamo la funzione
Elabora_Matrice vet()
End Sub

Private Sub Elabora_Matrice(vet())
Dim Ty As Long, yt As Long
Dim a As Long, b As Long, c As Long, d As Long

a = LBound(vet(), 1)
b = LBound(vet(), 2)
c = UBound(vet(), 1)
d = UBound(vet(), 2)

For Ty = a To c
For yt = b To d
Debug.Print vet(Ty, yt)
Next
Next
End Sub


Buon lavoro !!!

Ciao :)

LoryOne
19-05-2003, 12.50.21
...quando la pazzia supera i limiti:


Private Sub DimensioniMatrice(vet())
Dim S As String
Dim Id As Long, Ty As Long

On Local Error GoTo Errore
Id = 4

Ty = LBound(vet(), Id)

S = "La matrice è "
S = S & Choose(Id, "monodimensionale", "bidmensionale", "tridimensionale", "quadridimensionale")
MsgBox S
Exit Sub

Errore:
Id = Id - 1
Resume
End Sub