Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: QB: Duplicate defention

Sivun loppuun

Latska [16.04.2004 22:31:09]

#

Tuli (taas) pieniä onkelmia Qbasicin kanssa. Yritän tehdä ärsyttävälle koulukaverille jäynää pienen ohjelman muodossa. Kääntäjä kuitenkin herjaa: "Duplicate defention." En sitten päässyt siitä eteenpäin. Mitä pitäis tehdä?

sqwiik [16.04.2004 22:34:47]

#

Virhe varmaankin on "Duplicate definition"... Eli se tarkoittaa, että määrittelet saman muuttujan DIM-lauseella kahdesti tai useamman kerran.

EDIT - kerrohan, missä kohtaa QB valittaa? DIM-lauseessa, vai DECLARE:ssa? Itselläni tulee tuo aina silloin tällöin, jos DECLARE-määrittely ja aliohjelman parametrit poikkeavat toisistaan esim. seuraavasti:

DECLARE SUB numero!(a AS INTEGER)
...
SUB numero! (a AS INTEGER, b AS INTEGER) <-- määrittely eroaa; tulkki luulee että määritellään samaa subbia uudelleen :)
...
...

Tuokin aiheuttaa Duplicaten.

rndprogy [16.04.2004 22:34:59]

#

Tuohan voi tulla monessakin tapauksessa. Kerro nyt edes missä kohtaa - vilauta vähän sitä koodia. Olet määrittänyt yhden muuttujan useampaan kertaan.

Edit: Häsh taas meni vastauksen päällekkäin

hunajavohveli [16.04.2004 22:36:17]

#

Niin tai sitten vaikka kaksi saman nimistä riviä, tai aliohjelmaa. Tuo ei tosiaan ilman koodia selviä.

Latska [16.04.2004 22:52:33]

#

No tässä tulee pieni pätkä...

...
maxvair = 30

DIM vx(maxvair)
DIM vy(maxvair)

vx = 10
vy = 15

...

Latska [16.04.2004 22:55:56]

#

Vastaus selvisikin jo. Määrittelyssä ei ollutkaan mitään häikkää, vaan itse koodissa. Olen tehnyt suurin piirtein samoja virheitä ennenkin.

hunajavohveli [16.04.2004 22:57:20]

#

Joo, et voi antaa samaa nimeä taulukolle ja muuttujalle. Jos tarkoitus on tallentaa 10 ja 15 taulukoihin, tee se näin:

vx(1) = 10
vy(1) = 15

Katsos jos tallentat taulukkoon, on tietysti annettava myös alkion numero, johon tallennetaan.

Latska [17.04.2004 10:58:35]

#

Kyllä se toimi kuten pitää, mutta exeä se ei tahdo tehdä. Mikähän vika siinä on? Otan sieltä jostakin make exe file -hommelin, niin kone kuuluu työstävän jotain, mutta exeä ei vain näy. Miksiköhän?

hunajavohveli [17.04.2004 11:51:57]

#

Ei kun hetkinen... kyllähän QB:ssä voi antaa saman nimen taulukolle ja muuttujalle, mutta oliko tuossa koodissasi tarkoitus tallentaa luvut 10 ja 15 edellä määriteltyihin taulukoihin vai saman nimisiin muuttujiin?

Latska [17.04.2004 11:55:56]

#

Samannimiset muuttujat... Mutta kuten jo mainitsin, koodi toimii kuten pitääkin. Exeksi muuttamisessa vain on jotain häikkää.

hunajavohveli [17.04.2004 12:11:38]

#

Onko kyseessä 4.5 vai QBX? (7.1)

Latska [17.04.2004 20:43:39]

#

7.1. Miten niin? Voin varmaan yrittää samaa nelipuolosellakin.

Ei nelipuolosellakaan exejä tule. Harmi. En sitten saakaan lähetettyä "virusta" eli ohjelmaa, mikä ei sulkeudu millään sille koulukaverille.

hunajavohveli [17.04.2004 20:49:52]

#

Kääntämisessä tulee varmaan virheitä. Kun valitset "Make EXE", niin tuleeko ruudulle jotain tekstiä?

Latska [17.04.2004 20:52:49]

#

Ei tule. Kone vain surisee ja ruutu sulkeutuu.

hunajavohveli [17.04.2004 20:56:05]

#

Tuleeko siihen edes ensin sellaista ikkunaa, mistä saa valita kaikenlaisia ominaisuuksia, mitä EXE:een tulee?

Latska [17.04.2004 20:57:58]

#

Vain jos valisee options -välilehdeltä "Full menus" -kohdan. Muulloin ei tule.

hunajavohveli [17.04.2004 21:01:31]

#

Höh, no ei kai sen nyt EXE-ikkunaan mitään pitäisi vaikuttaa. Mutta siis ilman muuta, kun valitset sieltä valikosta Run ---> Make Exe File ---> pitäisi aueta ikkuna, josta saa tehdä valintoja ja sitten painaa Make Exe, mutta tätäkö ei tule?

Latska [17.04.2004 21:05:27]

#

Kyllä tuo Make exe tulee. Mutta missä on exe?

hunajavohveli [17.04.2004 21:07:33]

#

Kun valitset Make Exe, sulkeutuuko ikkuna niin, että voisit taas kirjoittaa QBasicikilla koodia?

Latska [17.04.2004 21:15:36]

#

Ei. Ikkuna katoaa kokonaan vaikka olen ottanut vain Make exe, En Make exe and exit.

Gaxx [17.04.2004 21:28:58]

#

Eli siis qb sulkeutuu kokonaan ja et löydä exeä qb:n pääkansiosta?

Edit: Sitten olisi varmaan parasta asentaa QB uudelleen.

Edit2: Ei ku jaa ei toimi 4.5:lla kaan. Sitten en osaa sanoa mitään.

Latska [17.04.2004 23:10:49]

#

Tai kyl se on jotain tehny. Obj -tiedoston. En tiedä mikä se on, mutta exee en edelleenkään löydä edes hakutoiminnolla. Hommasin muuten "uuden" qb:n. Siinä exeiksi muuttaminen toimii. Paitsi ei exejä. Vain obj -tiedostoja.

Latska [18.04.2004 10:41:05]

#

Nyt se on jotenkin tehnyt exen. Toimii kuten pitääkin.

hunajavohveli [18.04.2004 11:41:00]

#

Joo, luulen, että vika oli aikaisemmassa QB:ssäsi. Jokin tärkeä tiedosto kenties puuttui, tai jotain.


Sivun alkuun

Vastaus

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

Tietoa sivustosta