Pitäisi ohjelman ajon aikana pystyä määrittelemään juuri sopiva DIM luku GETtille Ettei tarvitsisi laittaa Dimmiin aina jotain 16000 kun getin koordinaatit ovat sattumanvaraisia. Tai jos laittaa jotain dim(luku, luku) niin siitä voi tulla liian suuri. Kyse on qb:stä.
Niinkö, että ohjelma tietäisi heti kuinka paljon tilaa pitää varata x ja y -pituuksien perusteella? Kai siihen jonkinmoinen kaava löytyy. On se kyllä kumma, kun tulee liian iso jos laittaa jotain dim(luku, luku). 15*15 on muistakseni 100 (tai siis 101, nollahan lasketaan kans) että minä en kyllä näe siinä mitään logiikkaa.
Tai jos tekis niin että kun se sanoo illgal function call
niin sitten dimmin lisätään yksi. Voisko olla mahdollista
Periaatteessa joo... ellen väärin ole käsittänyt niin kun dimmaa uudestaan niin pitää REDIM lauseketta joka ei muuten poikkea DIM:istä mitenkään. En ole kyllä kokeillut, mutta äkkiäkös tuo selviää.
Siis jotenkin näin kai:
ON ERROR GOTO VIRHE
DIM kuva(100)
get-lauseke
virhe:
a = a + 1
REDIM kuva(a)
RESUME NEXT
tai jotain tuollaista. (vain esimerkki, pitää tietysti parannella)
Jos kuvien koko vaihtelee, niin ainoa mahdollisuus lienee laittaa taulukon kooksi suurimman kuvan koko. Joka tapauksessa tarkka kaava taulukon vaatiman tilan laskemiseen löytyy QB:n ohjeesta GET-komennon kohdalta, ja se on:
4+INT(((x2-x1+1)*(bits-per-pixel-per-plane)+7)/8)*planes*((y2-y1)+1)
Esimerkiksi näyttötilassa 13 bits-per-pixel-per-plane on 8 ja planes on 1.
Lienee parasta tehdä tuolla kaavalle funktio-aliohjelma. Eihän se yhtään monimutkainen ole...
Kaipa sitä sitten kokeilen.
Aihe on jo aika vanha, joten et voi enää vastata siihen.