Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: QB: DIM?

Sivun loppuun

DKH [25.07.2002 23:11:51]

#

En oikein tajua tuosta DIM-käskystä mitään ja mitä hyötyä siitä muutenkaan on?

Grey [25.07.2002 23:15:22]

#

Mitä itse muistelisin, niin DIM olisi minulle ainakin äärimmäisen hyödyllinen käsky. Sillä kun jotenkni luodaan sellainen hauska taulukkohomma, josta olisi minulle tuhanteen ohjelmaan erittäin suurta hyötyä :-/

-Grey-

Pekka Kauppila [25.07.2002 23:30:15]

#

'ESIMERKIKSI
DIM Nimi$ (0 TO 4)

Nimi$(0) = "Pentti"
Nimi$(1) = "Jaakko"
Nimi$(2) = "Mikko"
Nimi$(3) = "Jouni"
Nimi$(4) = "Antti"

FOR TulostaNimet = 0 TO 4
PRINT Nimi$
NEXT TulostaNimet

TH [25.07.2002 23:31:17]

#

Niinkun sillä DIM käskyllä kait luodaan niinkun taulukoita niinkuin Grey sanoi. Osaan käyttää sitä, vaikka en niin tarkasti tiedä siitä. :D

Esimerkiksi jos on kymmenen haukea, ja niiden iät pitäisi laittaa muistiin voisi "vanhalla" tavalla tehdä kymmenen muuttujaa:

hauki1 = 3
hauki2 = 2
hauki3 = 4

Jne..

Mutta DIM käskyllä homma hoituu tyylikkäämmin.
Ensin tehdään juuri tuo "taulukko".

DIM hauki(9)

Tuola sulkujen sisällä sen takia yhdeksän kun nollakin lasketaan. :)

Noille hauille voi nyt asettaa haluamansa iän tällä tavoin:

hauki(3) = 2

Noiden sulkujen sisällä on siis numero monennelle hauelle taulukosta kyseinen arvo määrätään.

Tämä taulukko helpottaa suurissa määrin, ja vähäntää koodia. Jos vaikka jokaiselle hauelle pitäisi lisätä ikää yksi vuosi, tulisi vanhalla tavalla kymmenelle yksilölle kymmenen riviä koodia. Eli:

hauki1 = hauki1 + 1
hauki2 = hauki2 + 1
hauki3 = hauki3 + 1

Jne..

Mutta DIMillä homma hoituisi näin (erittäin hyödyllinen jos haukia olisi vaikka 2342):

  haukinumero = -1
DO
  haukinumero = haukinumero + 1

  hauki(haukinumero) = hauki(haukinumero) + 1
LOOP UNTIL haukinumero = haukiluku

Eli tuo haukiluku olisi haukien määrä, joka olisi määriteltynä jossain aikaisemmin. Seuraavanlainen tapa on hyödyllinen, itse käytän sitä usein.

haukiluku = 34
DIM hauki(haukiluku)

No, toivottavasti ymmärsit tätä onnetonta selitystä, en jaksa kirjoittaa TYPEstä joka on hyvin läheinen DIMille, ainakin luulen niin. :)

TH [25.07.2002 23:31:53]

#

Joku taisi jo ehtiä ennen, kun olin kirjoittamassa tuota. :)

Antti Laaksonen [26.07.2002 10:56:17]

#

DIM:illä voidaan myös määrittää yksittäisten muuttujien tyyppejä, esim:

DIM nimi AS STRING
DIM ika AS INTEGER

nimi = "Pentti"
ika = "35"

(nimetön) [26.07.2002 13:17:52]

#

Ja mä tein kerran mun roguelike peliin katan tollei siis tein eka editorin ja siiten piirisin kartan ascii merkeillä ja sitten tallensin tiedostoon ja latasin sen ja pistin tulukkoon.

thefox [26.07.2002 21:49:19]

#

DIMistä vielä sen verran että tuon DIM hauki(9) voi laittaa myös vaikka DIM hauki(1 TO 10) jos haluaa yhdestä kymmeneen eikä nollaa..

Jarkko [29.07.2002 19:24:35]

#

Mut eiks toho oo myös joku OPTION BASE 1 käsky. Siis toho ykkösest alottamiseen vai muistanko väärin.

tomaattigeeni [29.07.2002 22:30:03]

#

jarkko muistat väärin :) DIM taulukko(1 to 10) riittää.

Antti Laaksonen [29.07.2002 23:19:53]

#

Kummatkin tekevät saman asian. OPTION BASE on kyllä semmoinen kummajainen, että itse ainakin käytän sitä vain hupimielessä..

Vilikki [05.08.2002 22:22:09]

#

Mikä ihme se option base on?

TH [05.08.2002 22:26:23]

#

http://www.cs.ut.ee/~teet11/qbasic/Qmuutujad.htm­#OPTION BASE
On kyllä viroksi(???)..

(nimetön) [14.08.2002 17:26:18]

#

"Used at module level to declare the default lower bound for array subscripts"

Löytyy urlista: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/office97/html/output/F1/D6/S5B27F.asp


Sivun alkuun

Vastaus

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

Tietoa sivustosta