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 Function
Edit: 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.