Hur deklarerar jag en array som har två dnamiska dimensioner där den första är en string och den andra är en integer. Du deklarerar ingen sån....Deklarering av array
mvh FransSv: Deklarering av array
Försök köpa en bil som är en Volvo på längden och en saab på Bredden.
Du måste göra en egen datatyp.
För att få en publik sådan så måste du deklarera den i en kodmodul.
skriv följande i en kodmodul
Option Explicit
Public Type minDataType
varString() As String
varInteger() As Integer
End Type
Du deklarerar sedan en variabel med din datatyp så här.
Private minVariabel As minDataType
Så här kan du sedan använda din datatyp:
Private Sub Form_Load()
ReDim minVariabel.varInteger(10) 'Redimma för att få annan storlek på arrayen
minVariabel.varInteger(5) = 10
ReDim Preserve minVariabel.varInteger(25) 'Redimma och spar värden i arrayen
End Sub
Kom dock ihåg att det är en mycket tidskrävande operation att göra
en redim på en befintlig array så det är alltid bättre att göra den lite
större när man ändå redimmar. Exvis skall du inte redimma för varje
varv i en loop. Då redimmar du före loopen med så mycket som loopen skall snurra. Sånt måste man tänka på då.
Datorn vill spara hela din array som ett enda långt harang med siffror i sitt minne.
Då du gör en ReDim så kanske det händer att datorn måste flytta hela din
array till en annan plats så det är därför som det tar tid att utföra denna
operation.
Speciellt om du har stora arrayer.
Lycka till.
/peterh