Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: QB: Miten taulukoita käytetään?

Sivun loppuun

Lipton_green [24.03.2017 10:32:00]

#

Laadin tällaisen ohjelman ja haluan hieman ymmärtää sitä.

DIM Image AS INTEGER
FOR a = 1 TO 3
    INPUT "Numero "; Image(a)
NEXT a

Nyt tämä tallentaa antamani numerot ja niille järjesysluvut, siten minulla on mahdollisuus löytää antamani numero tulevaisuudessa.

Minä oikeastaan kysyn sitä, että voinko tallentaan tuon Imagen kovalevylle ja ladata sen myöhemmin, jolloin löydän jälleen asettamani numerot järjesysluvuin. Toki ohjeet tuohon olisivat tervetulleet.

Tarkoitus olisi myöhemmin kehittää ohjelmaa siten, että voisin poistaa taulukosta numeron perusteella luvun ja korvata sen toisella.

Lisäys:

Minä siis kuvittelen tuon DIMin olevan Pythonin kaltainen lista:

listat = [[1, 2, 3, 4],
          [5, 6, 7, 8, 9, 10],
          [11, 12]]

Lisäys:

Ja vielä, ohjelmahan on QuickBASIC

Kiitos jo etukäteen.

Mod. lisäsi kooditagit!

Grez [24.03.2017 12:25:17]

#

Lipton_green kirjoitti:

DIM Image AS INTEGER

Minä siis kuvittelen tuon DIMin olevan Pythonin kaltainen lista:

Kuvittelet väärin, tuolla tavoin määritelty Image on kokonaisluku (perinteisessä Qbasicissa 16-bittinen etumerkillinen), eli numero väliltä -32768 - 32767

Se pitäisi määritellä:

DIM Image(1 TO 3) AS INTEGER

Voit tallentaa Imagen kovalevylle.. Esim

Open "C:\Image.bin" For Binary As #1
PUT #1, , Image
Close #1

Lukeminen taas sujuu

Open "C:\Image.bin" For Binary As #1
GET #1, , Image
Close #1

Lipton_green [24.03.2017 13:18:34]

#

Kiitos oikein paljon neuvoistasi. Olenko oikeilla jäljillä:-) Tarkoitukseni on tehdä taulukko jossa järejetysnumeroon perustuen löytäisin nimiä, osoitteita ja muita tietoja, tuleeko minun silloin rakentaa ohjelma tuohon DIMiin perustuen? Vai tarvitaanko sitä välttämättä ollenkaan.

FOR a = 1 TO 3
    INPUT "Anna numero "; numero%(a)
NEXT a

Mod. lisäsi kooditagit!

Grez [24.03.2017 16:32:47]

#

Qbasicissa aina jos haluat taulukoita, niin tarvitsee käyttää DIMiä.

Lipton_green [24.03.2017 19:33:32]

#

Kiitos vinkistä, olet fiksu näissä asioissa. Tein oppaan mukaan seuraavan homman.
DIM nimi(5 TO 10) AS STRING, mutta tämä ei näyttäisi toimivan. Tämän jälkeen input-komento antaa vain tarjota numeroita. Vasta kun poistan (5 to 10) niin se hyväksyy kirjaimet.


Kuinka voin hakea nimiä taulukosta. Minun ongelmani tällä hetkellä on siinä, että en osaa syöttää taulukkoon useita nimiä ja sitten hakea niitä.

Kiitos

Grez [25.03.2017 08:28:33]

#

Lipton_green kirjoitti:

DIM nimi(5 TO 10) AS STRING, mutta tämä ei näyttäisi toimivan. Tämän jälkeen input-komento antaa vain tarjota numeroita.

Tästä ei kyllä selviä mikä siinä on vikana, eli vika on muualla kuin tuossa DIM-komennossa. Ainakin seuraava näyttäisi toimivan:

DIM nimi(5 TO 10) AS STRING
DIM i AS INTEGER
FOR i = 5 TO 10
    INPUT "Anna nimi "; nimi(i)
NEXT
FOR i = 5 TO 10
    PRINT "Antamasi nimi "; i; " = "; nimi(i)
NEXT

Merkkijonotaulukkoa ei muuten sitten luultavasti voi lukea levyltä muistiin ihan vaan tuolla GET -komennolla.

Lipton_green [26.03.2017 19:13:08]

#

Kiitos. Voisitko vielä hieman auttaa minua, melkein maalissa:-)
Miksi alla oleva ohjelma ei tallenna "DIM nimi" taulukkoon syöttämiäni nimiä.
Olen ajatellut tuon "DIM nimi" olevan säiliö minne voin syöttää tietoa ja tallentaa sen sellaisenaan myöhempää avaamista varten. Minun on ehkä vain vaikea ymmrätää tuota taulukkoa, vaikka olen yrittänyt etsiä tietoa netistä. Kiitos kun olet ollut apuna:-)

OPEN "testfile.txt" FOR INPUT AS #1
INPUT #1, nimi
CLOSE #1
FOR d = 1 TO 10
    PRINT nimi(d)
NEXT

DIM nimi(5 TO 10) AS STRING
DIM i AS INTEGER
FOR i = 5 TO 10
    INPUT "Anna nimi "; nimi(i)
NEXT
FOR i = 5 TO 10
    PRINT "Antamasi nimi "; i; " = "; nimi(i)
NEXT

OPEN "testfile.txt" FOR OUTPUT AS #1
WRITE #1, nimi
CLOSE #1

Lipton_green [27.03.2017 16:46:58]

#

Hei. Nyt sain tuon tallentamaan nimet:-)
Nyt kun vielä saisin sen lukemaan ne, tämä ei ainakaan toimi:

OPEN "testfile.txt" FOR INPUT AS #1
FOR p = 1 TO 5
    INPUT #1, nimi(p)
    PRINT nimi(p)
NEXT p
CLOSE #1

Lipton_green [27.03.2017 19:24:51]

#

Keksin jo, luettaessakin pitää olla tuo DIM jo alussa:-)


Sivun alkuun

Vastaus

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

Tietoa sivustosta