Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: QB: dim ongelma 2

rndprogy [20.12.2003 18:59:04]

#

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ä.

hunajavohveli [20.12.2003 20:11:34]

#

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.

rndprogy [20.12.2003 20:29:37]

#

Tai jos tekis niin että kun se sanoo illgal function call
niin sitten dimmin lisätään yksi. Voisko olla mahdollista

hunajavohveli [20.12.2003 20:34:28]

#

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)

Antti Laaksonen [20.12.2003 20:51:41]

#

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.

hunajavohveli [21.12.2003 14:14:50]

#

Lienee parasta tehdä tuolla kaavalle funktio-aliohjelma. Eihän se yhtään monimutkainen ole...

rndprogy [21.12.2003 15:29:40]

#

Kaipa sitä sitten kokeilen.

Vastaus

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

Tietoa sivustosta