Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: QB* Get

Sivun loppuun

Jarkko [29.11.2002 20:09:04]

#

Mikä täs koodis on vikana.

FOR maara = 1 TO 2
FOR y = 1 TO 5
FOR x = 1 TO 5
READ a
IF a = 1 THEN PSET (x, y)
NEXT x
NEXT y
GET (1, 1)-(5, 5), fontti(maara)
CLS
NEXT maara
CLS
PUT (3, 1), fontti(1)
PUT (13, 1), fontti(2)
'A
DATA 0,1,1,1,0,1,0,0,0,1,1,0,0,0,1,1,1,1,1,1,1,0,0,0,1
DATA 1,1,1,1,0,1,0,0,0,1,1,1,1,1,0,1,0,0,0,1,1,1,1,1,0

Toi eka kirjain näyttää oudolta. Missä vika?

trinit [30.11.2002 18:58:07]

#

lainaus:

Mikä täs koodis on vikana.

Ei koodissa mitään vikaa ole. Nyt on vain niin, että QB:ssä ei pysty GET:llä tallentamaan kuvia taulukkoon jossa on monta solua. Tätä _EN_ sano 100% varmaksi tiedoksi joten jos joku tietää miten monta kuvaa saa samaan taulukkoon, kertokoon sen täällä.

Eli mikäli yo. väittämäni on oikein joudut tekemään jokaiselle kirjaimelle oman taulukon (esim. Fontti_A, Fontti_B jne) ja lukemaan kuvat niihin.

Mutta kuten kerroin en ole 100%:n varma tästä.

PS. Ohjelmointiputkan koodi-tageja kannattaisi käyttää koodilistauksien näytössä: https://www.ohjelmointiputka.net/ohje.php?tunnus­=kohjeet

FOR maara = 1 TO 2
    FOR y = 1 TO 5
        FOR x = 1 TO 5
            READ a
            IF a = 1 THEN PSET (x, y)
        NEXT x
    NEXT y

    GET (1, 1)-(5, 5), fontti(maara)
    CLS
NEXT maara

CLS
PUT (3, 1), fontti(1)
PUT (13, 1), fontti(2)

'A
DATA 0,1,1,1,0,1,0,0,0,1,1,0,0,0,1,1,1,1,1,1,1,0,0,0,1
DATA 1,1,1,1,0,1,0,0,0,1,1,1,1,1,0,1,0,0,0,1,1,1,1,1,0

Antti Laaksonen [30.11.2002 22:16:37]

#

Itse en ole ainakaan koskaan onnistunut saamaan useampaa GET-kuvaa yhteen taulukkoon. Mutta jos kuvia on paljon ja ne ovat suhteellisen pieniä, ne kannattaa tallentaa taulukkoon piste kerrallaan ja piirtää ne sieltä PSET:illä.

Jarkko [01.12.2002 12:19:05]

#

oisko mahdollista jos tietäis paljo yks kirjain tarvii tilaa esim. A veis 10 paikkaa ja sit laitettas toinen kirjain paikalle 11

trinit [01.12.2002 12:51:38]

#

lainaus:

oisko mahdollista jos tietäis paljo yks kirjain tarvii tilaa esim. A veis 10 paikkaa ja sit laitettas toinen kirjain paikalle 11

Selitäpä hieman tarkemmin mitä oikein tarkoitat tuolla?

Mutta mikset pyöräytä tuota koodia toimimaan toisinpäin? Eli niin, että taulukon eri soluissa on nuo DATA lauseet tähän tyyliin:

fontti(1) = "0111010001100011111110001"
fontti(2) = "1111010001111101000111110"

Sitten vain luet taulukkoa merkki kerrallaan ja piirrät ne PSET:llä näyttöön (niin kuin Anttikin ehdotti)

Jarkko [01.12.2002 16:17:44]

#

lainaus:

Selitäpä hieman tarkemmin mitä oikein tarkoitat tuolla?

Eli kaikki kuvat tarvii tietyn määrän noit soluja. Mitä suurempi kuva sitä enemmän se tarvii soluja. Eli jos oletetaan iso tarvii 200 soluu ja pien 100 soluu niin voiks laittaa ekan kuvan 0-100 soluihin ja toisen kuvan soluihin 100-200.
esim.

dim kuva(200)
line (1,1)-(5,5),1,bf
get (1,1)-(5,5), kuva(1)
cls
line (1,1)-(5,5),2,bf
get (1,1)-(5,5), kuva(100)

trinit [01.12.2002 16:49:40]

#

lainaus:

Eli jos oletetaan iso tarvii 200 soluu ja pien 100 soluu niin voiks laittaa ekan kuvan 0-100 soluihin ja toisen kuvan soluihin 100-200.

Ei tule onnistumaan, koska silloin olisi taas kaksi kuvaa samassa taulukossa. Olet varmaankin ymmärtänyt taulukoiden käytön hieman väärin?

Eli taulukoissa on soluja (tai alkioita miten niitä sitten kutsutaankin?) jotka ymmärtää parhaiten kun kuvittelee ne vaikka merkkijono riveiksi. Esim:

Dim taulukko(2) AS STRING * 6
taulukko(0) = "merkki"
taulukko(1) = "merkki 2"
taulukko(2) = "merkki 3"

Em. esimerkissä on varattu 3 (0-2) "riviä" taulukkoon joista jokainen on STRING tyyppinen ja max. 6 mrk. pitkä. Tällöin tulostettaessa taulukko(0) sisältö tulostuisi teksti "merkki" ja tulostettaessa taulukko(1) sisältö teksti olisi edelleen "merkki" eikä "merkki 2". Jos taulukon 1 ja 2 solu haluttaisiin tulostuvan kokonaan pitäisi DIM lauseessa alustaa taulukko vähintään 8 merkkiä pitkäksi 6:n sijaan.

Toivottavasti nyt hieman ymmärsit mitä yritin kertoa ja toivottavasti en _itse_ opettanut väärin. Hieman lisää taulukoista löytää tietoa https://www.ohjelmointiputka.net/oppaat/opas.php?tunnus=vbo_2 . Vaikka se on VB:lle tarkoitettu siitä selviää ainakin perusasiat

Ehkäpä jonkun pitäisi kirjoittaa QB-oppaaseen kunnollinen opas taulukoista ;)

thefox [01.12.2002 16:57:42]

#

lainaus:

Ehkäpä jonkun pitäisi kirjoittaa QB-oppaaseen kunnollinen opas taulukoista ;)

Jooh.. minulta sellaista ei kuitenkaan ole tulossa :) Kun nyt tuo tuoli puheeksi niin QB-oppaita tulee vielä kaksi kappaletta. Neljäs osa on jo käytännössä valmis ja käsittelee simppeliä grafiikkaa.. viitososassa väänettään sitten jonkinlainen peli.. sitähän kaikki haluavat :)
Tiedän että opassarja jää näinollen vajavaiseksi (mm. tiedostonkäsittelyt ym jää käsittelemättä kokonaan, paitsi tietysti osittain tuon pelinteon yhteydessä) mutta en kyllä muista miksi alunperinkään aloin tuota QB-opassarjaa kirjoittamaan :)
Nykyisellään ei innostus tuollaisen kirjoittamiseen riitä alkuunkaan.. on parempaakin tekemistä ;)

Jarkko [02.12.2002 19:09:43]

#

lainaus:

Ei tule onnistumaan, koska silloin olisi taas kaksi kuvaa samassa taulukossa. Olet varmaankin ymmärtänyt taulukoiden käytön hieman väärin?

testasin tälläistä koodia ja sil on mahdollista laittaa kaks kuvaa yhteen taulukkoon, mut se on liian sekava eli siit ei oikeestaan oo hyötyy mut se todistaa et yhdes taulukos voi olla kaks kuvaa.

CLS
SCREEN 13
DIM fontti(2000)
FOR maara = 0 TO 200 STEP 100
FOR y = 1 TO 5
FOR x = 1 TO 5
READ a
IF a = 1 THEN PSET (x, y)
NEXT x
NEXT y
GET (1, 1)-(5, 5), fontti(maara)
SLEEP 3
CLS
NEXT maara
CLS
PUT (3, 1), fontti(0)
PUT (13, 1), fontti(100)
PUT (134, 2), fontti(200)
'A
DATA 0,1,1,1,0,1,0,0,0,1,1,0,0,0,1,1,1,1,1,1,1,0,0,0,1
'B
DATA 1,1,1,1,0,1,0,0,0,1,1,1,1,1,0,1,0,0,0,1,1,1,1,1,0
'C
DATA 0,1,1,1,0,1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,1,1,1,0

Sivun alkuun

Vastaus

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

Tietoa sivustosta