Dynamisk matris | |
![]() | ![]() |
![]() | |
Ibland vet man inte på förhand hur stor matrisen skall vara när man kör programmet. Kanske användaren själv skall ange ett antal av någonting och då skall matrisen dimensioneras utifrån det antalet. Då används en dynamisk matris som dimensioneras under programkörningen. En del måste man förbereda med kod för att det skall fungera. Specificera först namnet och typen på matrisen, men utelämna antalet element i parentesen. Dim Varor() As String Skriv koden där användaren bestämmer antalet element och där antalet i matrisen läggs till under programkörningen. Dim Antal As Integer Därefter kommer koden som skapar en matris utifrån antalet som angavs. ReDim Varor(Antal-1) Anledningen till att man använder Antal - 1 ärr att matrisen börjar på noll. Har vi nu till exempel en For Next-slinga inne i programmet används funktionen UBound som vi lärde oss i en tidigare lektion. UBound hittar själv antalet element i en matris. Ett exempel: En slinga som lägger det som står i en ListBox till matrisen och sedan från matrisen till en annan ListBox: Dim Varor() As String Om en matris som innehåller data omdimensioneras försvinner alla data. Antag att vår matris Varor har fått sina data men att det måste läggas till ytterligare data. Då kan vi använda ordet Preserve efter ReDim ReDim Preserve Varor() Nu kommer de data som redan fanns i matrisen Varor att finnas kvar och nya kan läggas till. | |
![]() | ![]() |
![]() | |
SupportData.Net |