Eli löysin hyllyiltä (isän vanhan) Toshiba T1200 XE:n ja siinä oli DOS käyttöjärjestelmä, jossa tietenkin QBasic 1.0. Sitä oli tetenkin hauska näpytellä, kunnes muistin, että siinä on se QBasic 1.0. Aloin vänä koodailemaan... Eteeni tuli este:
Mahtaako tässä QBasicin versiossa toimia ELSEIF komento? Kun siis (luulen) teen kaikki oikein, alla koko ehtolause:
IF arvaus = luku THEN GOTO oikein ELSEIF arvaus < luku THEN GOTO pieni ELSEIF arvaus > luku THEN GOTO suuri ELSE PRINT "Nyt meni jotain väärin....." END IF
Vai teinkö kaikki oikein? Tulee kuitenkin virheilmoitus "ELSE whitout IF"
Eiköhä se ole näin
if arvaus = luku then goto oikein else if arvaus < luku then goto pieni end if
jne. Yhelle riville saa kans, mut noin pitkää ei kannata.
Tällaiset perusasiat ovat samalla tavalla kaikissa QBasicin versioissa.
Korjaus on kirjoittaa ehdot ja tapahtumat eri riveille.
IF arvaus = luku THEN GOTO oikein ELSEIF arvaus < luku THEN GOTO pieni ELSEIF arvaus > luku THEN GOTO suuri ELSE PRINT "Nyt meni jotain väärin....." END IF
Komentorakenteiden syntaksin pystyy näppärästi tarkistamaan painamalla F1 komennon kohdalla.
Antti Laaksonen kirjoitti:
Korjaus on kirjoittaa ehdot ja tapahtumat eri riveille.
Jaa, en olisi uskonut että sillä olisi merkitystä. Kiitos.
Jix kirjoitti:
Jaa, en olisi uskonut että sillä olisi merkitystä.
Useimmissa kielissä ei olekaan, niissä "rivin" loppuminen kerrotaan jollain muulla merkillä, kuten puolipisteellä.
Aihe on jo aika vanha, joten et voi enää vastata siihen.