Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: Taulukon ylimeno-ongelma

Armoletti [05.02.2007 22:44:38]

#

Minulla on taulukko jonka kokoa ei ole aluksi määritelty, vaan kasvatan sitä aina tarpeen mukaan (redim). Koska koka ei ole aluksi määritelty VB lyö virheen jos sitä yrittää lähteä lukemaan (Subscript out of range).

Miten saisin ohjelma tarkistamaa että muuttujan kokoa ei ole määritelty(eli redim systeemiä ei ole vielä tehty kertaakaan)?

Olen kokeillut eri tapoja vaan en keksi oikeaa.

'valimuisti on taulukko

if valimuisti <> "" then 'TÄSSÄ MITEN TÄMÄN SAA TOIMIMAAN
    For i = LBound(valimuisti) To UBound(valimuisti)
    next
end if

Antti Laaksonen [05.02.2007 23:12:47]

#

Oikea tapa onkin varsin merkillinen:

If (Not valimuisti) <> -1 Then
    ' tässä tiedetään, että koko on määritelty
End If

Tästä keinosta ei kerrota VB:n ohjeessa, joten on ehkä parempi käyttää ylimääräistä muuttujaa, jossa on tieto siitä, onko taulukon koko jo määritelty.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta