optellen in vbscript

Status
Niet open voor verdere reacties.

arjoandringa

Gebruiker
Lid geworden
23 jun 2009
Berichten
5
hey allemaal,

ik heb een scriptje gemaakt waarin een aantal vragen staan. Als je ja antwoord, wordt variabele a 10, bij nee 0, en zo zijn er nog een paar, dat doe ik zo:

a=inputbox ("ben je lang?")
if a="ja" then
dim k
k="10"
elseif a="nee" then
k="0"
else
msgbox"alleen ja en nee, slimmerd"
end if

als ik daarna probeer de variabelen k t/m t (l - t zijn van de andere vragen) bij elkaar op te tellen, dan gaat dat fout. ik doe dat zo:

dim u as integer
u=k+l+m+n+o+p+q+r+s+t
msgbox"en de uitslag is..."+u

ik krijg dan de foutmelding

Fout: einde van de instructie wordt verwacht
Code: 800A0401
Bron: compilatiefout Microsoft VBScript

heeft iemand enig idee wat ik fout doe?
 
Ja: je laat de scores strings zijn (dingen tussen ""-s), maar wilt er wel een getal uit. Je zegt dus: tel de string "10" op bij "0" (etc) - dit kan niet. Je zult gewoon integers moeten gebruiken:
Code:
a=inputbox ("ben je lang?")
if a="ja" then
dim k
k=10   [COLOR="SeaGreen"]'<---[/COLOR]
elseif a="nee" then
k=0   [COLOR="SeaGreen"]'<---[/COLOR]
else
msgbox"alleen ja en nee, slimmerd"
end if



Overgens kan je dit een stuk efficienter oplossen. Zoiets:
Code:
dim score    [COLOR="SeaGreen"]'totale score[/COLOR]
dim vraag1


if inputbox("ben je lang?") = "ja" then
   score = score + 10
end if [COLOR="SeaGreen"]'geen else, want else zou toch zijn 'score = score + 0'[/COLOR]


msgbox "je score is " & score
Je hebt dan echter geen controle over de input. Je kan dit natuurlijk altijd nog via een 'and bla bla' doen, of op de manier zoals jij t deed, maargoed.


:thumb:
 
Laatst bewerkt:
hey, dankjewel!:thumb:

als dat optellen vervang door een variabele score, dan werkt het inderdaad perfect!:)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan