Pystyykö taulukkoa välittämään funktiolle (vb6) ja jos voi niin miten? Tarkoituksena olisi vertailla kahta taulukkoa: (1 to 8, 1 to 16) as integer, ja ajattelin, että se kävisi parhaiten funktiolla, joka sitten palauttaisi noista taulukoista kootun taulukon. Onnistuuko?
Välitä arvo Variant-muotoisena, jolloin funktiolle voi välittää lähes mitä tahansa. Onko noita taulukkoja kaksi, yhdestä kahdeksaan (1 to 8) ja yhdestä 16:sta (1 to 16), vai onko taulukossasi useampia dimensioita (1 to 8, 1 to 16)? VB:llä menee sormi suuhun, jos sen pitää itse yrittää arvata dimensioiden määrä, mutta tuohon löytyy apua tuolta.
'formille yksi CommandButton
Private Sub Command1_Click()
Static kerta As Boolean
Dim arr(2) As Integer
Dim muu As Integer
Dim abu As Variant
kerta = Not kerta 'vaihdetaan verrattavaa arvoa joka toisella kerralla, kun nappia painetaan
If kerta Then
abu = test(arr) 'testataan taulukkoa
Else
abu = test(muu) 'testataan kokonaislukea
End If
'VarType palauttaa taulukon kohdalla yhdistetyn arvon taulukko + mitä muotoa taulukko on
'muuten voitaisiin suoraan verrata VarType()=jotain
If VarType(abu) - vbArray > 0 Then
MsgBox "taulukko"
Else
MsgBox abu
End If
End Sub
Private Function test(ByVal arvo As Variant) As Variant
If VarType(arvo) - vbArray > 0 Then
test = arvo
Else
test = "ei ollut taulukko"
End If
End FunctionEdit: UBound-funktiolla pääsee tarkemmin kiinni taulukon kokoon, kun sitä lähemmin sitten tarkastellaan.
Taulukkoina on 2-dimensioinen vakiokokoinen taulukko. Tarkoituksena olisi välittää nuo taulukot funktiolle, joka selvittäisi, miten taulukot eroavat toisistaan ja jos ehdot täyttyvät niin funktio palauttaisi true-arvon. Pääsen neuvoillasi hyvin eteenpäin. Kiitoksia.
Aihe on jo aika vanha, joten et voi enää vastata siihen.