vraag dubbel afgedrukt

Status
Niet open voor verdere reacties.

treinengek

Gebruiker
Lid geworden
23 apr 2007
Berichten
82
Hallo

Ik ben in vbs vragen aan het progammeren maar de vraag word dubbel afgedrukt. alsof hij de eerste vraag herhaalt. dit is et script:

msgbox" Instructies: Tiep de letter van het andwoord!"
msgbox" Je begint met opdracht 1!"
Dim strMsg,inp01,strTitle,strFlag

strTitle = "Answer Box"

strMsg = strMsg & "Vraag 1 a: Welk bekend gas bestaat hoofdzakelijk uit methaan?" & vbCR
strMsg = strMsg & "Tiep A voor aardgas" & vbCR
strMsg = strMsg & "Tiep B voor stikstof" & vbCR
strMsg = strMsg & "Tiep C voor Zuurstof" & vbCR

strFlag = False

Do While strFlag = False

inp01 = InputBox(strMsg,"Make your selection")

Select Case inp01
Case "A"
MsgBox "Goed!",64,strTitle
strFlag = True
Case "B"
MsgBox "Fout andwoord!",64,strTitle
strFlag = False
Case "C"
MsgBox "Fout andwoord!",64,strTitle
strFlag = False
Case Else
MsgBox "You made an incorrect selection!",64,strTitle
End Select

Loop

strMsg = strMsg & "Vraag 1 a:Wat is de molecuulformule van methaan?" & vbCR
strMsg = strMsg & "Tiep A voor CH" & vbCR
strMsg = strMsg & "Tiep B voor CH4" & vbCR
strMsg = strMsg & "Tiep C voor CH9" & vbCR

strFlag = False

Do While strFlag = False

inp01 = InputBox(strMsg,"Make your selection")

Select Case inp01
Case "A"
MsgBox "Goed!",64,strTitle
strFlag = False
Case "B"
MsgBox "Fout andwoord!",64,strTitle
strFlag = Treu
Case "C"
MsgBox "Fout andwoord!",64,strTitle
strFlag = False
Case Else
MsgBox "You made an incorrect selection!",64,strTitle
End Select

Loop

Wat gaat er fout?
Mvg Corné Methorst
 
dat komt door dit:
Code:
strFlag = False 

Do While strFlag = False 

inp01 = InputBox(strMsg,"Make your selection") 

Select Case inp01 
Case "A" 
MsgBox "Goed!",64,strTitle 
strFlag = True 
Case "B" 
MsgBox "Fout andwoord!",64,strTitle 
strFlag = False
Case "C" 
MsgBox "Fout andwoord!",64,strTitle 
strFlag = False
Case Else 
MsgBox "You made an incorrect selection!",64,strTitle 
End Select 

Loop

probleer het eens zo te doen:

Code:
strFlag = False 

Do until strFlag = true
zou hetzelfde moeten doen, maar zie zo snel geen fout.
 
Het komt doordat je bij de tweede vraag(Wat is de molecuulformule van methaan?" ) ook nog de eerste vraag meeneemt strMsg = strMsg & "Vraag 1 a:Wat is de molecuulformule van methaan?" & vbCR

verander de tweede vraag het in onderstaande en die vraag moet niet nog een keer komen:

Code:
strMsg = "Vraag 1 a:Wat is de molecuulformule van methaan?" & vbCR
strMsg = strMsg & "Tiep A voor CH" & vbCR 
strMsg = strMsg & "Tiep B voor CH4" & vbCR 
strMsg = strMsg & "Tiep C voor CH9" & vbCR
 
Laatst bewerkt:
Het komt doordat je bij de tweede vraag(Wat is de molecuulformule van methaan?" ) ook nog de eerste vraag meeneemt strMsg = strMsg & "Vraag 1 a:Wat is de molecuulformule van methaan?" & vbCR

verander de tweede vraag het in onderstaande en die vraag moet niet nog een keer komen:

Code:
strMsg = "Vraag 1 a:Wat is de molecuulformule van methaan?" & vbCR
strMsg = strMsg & "Tiep A voor CH" & vbCR 
strMsg = strMsg & "Tiep B voor CH4" & vbCR 
strMsg = strMsg & "Tiep C voor CH9" & vbCR

okee ik heb nu dit:

Code:
msgbox" Instructies: Tiep de letter van het andwoord!"
msgbox" Je begint met opdracht 1!"
Dim strMsg,inp01,strTitle,strFlag 

strTitle = "Answer Box" 

strMsg = strMsg & "Vraag 1 a: Welk bekend gas bestaat hoofdzakelijk uit methaan?" & vbCR
strMsg = strMsg & "Tiep A voor aardgas" & vbCR 
strMsg = strMsg & "Tiep B voor stikstof" & vbCR 
strMsg = strMsg & "Tiep C voor Zuurstof" & vbCR 

strFlag = Treu

Do While strFlag = False 

inp01 = InputBox(strMsg,"Make your selection") 

Select Case inp01 
Case "A" 
MsgBox "Goed!",64,strTitle 
strFlag = True 
Case "B" 
MsgBox "Fout andwoord!",64,strTitle 
strFlag = False
Case "C" 
MsgBox "Fout andwoord!",64,strTitle 
strFlag = False
Case Else 
MsgBox "You made an incorrect selection!",64,strTitle 
End Select 

Loop 

strMsg = "Vraag 1 a:Wat is de molecuulformule van methaan?" & vbCR
strMsg = strMsg & "Tiep A voor CH" & vbCR 
strMsg = strMsg & "Tiep B voor CH4" & vbCR 
strMsg = strMsg & "Tiep C voor CH9" & vbCR

strFlag = Treu

Do While strFlag = False 

inp01 = InputBox(strMsg,"Make your selection") 

Select Case inp01 
Case "A" 
MsgBox "Goed!",64,strTitle 
strFlag = False
Case "B" 
MsgBox "Fout andwoord!",64,strTitle 
strFlag = Treu
Case "C" 
MsgBox "Fout andwoord!",64,strTitle 
strFlag = False
Case Else 
MsgBox "You made an incorrect selection!",64,strTitle 
End Select 

Loop
mar nu is het probleem dat het andwoord niet klopt. het andwoord is zegmaar dezelfde als bij die eerste vraag. De vraag word nu niet meer herhaalt :D maar het andwoord dat je in moet voeren wel. bij de laatste vraag is het andwoord B. maar als je dat intoetst zegt hij dat het A is.
 
Dat komt omdat je bij de tweede inputbox de tekst fout hebt staan. Dus bij B staat "Fout antwoord"en dat moet "Goed!" (en andersom bij A) zijn en je hebt een tiep fout gemaakt bij B
strFlag = Treu dit moet zijn strFlag = True

Dan gaat het wel goed

Code:
inp01 = InputBox(strMsg,"Make your selection") 

Select Case inp01 
Case "A" 
MsgBox "Goed!",64,strTitle 
strFlag = False
Case "B" 
[COLOR="red"]MsgBox "Fout andwoord!",64,strTitle [/COLOR]
strFlag =[COLOR="Red"] Treu[/COLOR]
Case "C" 
MsgBox "Fout andwoord!",64,strTitle 
strFlag = False
Case Else 
MsgBox "You made an incorrect selection!",64,strTitle 
End Select 

Loop
 
Laatst bewerkt:
okee dat was dus gewoon een dom foutje van mij :o

nu heb ik dit:

Code:
msgbox" Instructies: Tiep de letter van het andwoord!",64,strTitle
msgbox" Je begint met opdracht 1!",64,strTitle
Dim strMsg,inp01,strTitle,strFlag 

strTitle = "Answer Box" 

strMsg = strMsg & "Vraag 1a : Welk bekend gas bestaat hoofdzakelijk uit methaan?" & vbCR
strMsg = strMsg & "Tiep A voor aardgas" & vbCR 
strMsg = strMsg & "Tiep B voor stikstof" & vbCR 
strMsg = strMsg & "Tiep C voor Zuurstof" & vbCR 

strFlag = False

Do While strFlag = False 

inp01 = InputBox(strMsg,"Make your selection") 

Select Case inp01 
Case "A" 
MsgBox "Goed!",64,strTitle 
strFlag = True 
Case "B" 
MsgBox "Fout andwoord!",64,strTitle 
strFlag = False
Case "C" 
MsgBox "Fout andwoord!",64,strTitle 
strFlag = False
Case Else 
MsgBox "You made an incorrect selection!",64,strTitle 
End Select 

Loop 

strMsg = "Vraag 1b :Wat is de molecuulformule van methaan?" & vbCR
strMsg = strMsg & "Tiep A voor CH" & vbCR 
strMsg = strMsg & "Tiep B voor CH4" & vbCR 
strMsg = strMsg & "Tiep C voor CH9" & vbCR

strFlag = False

Do While strFlag = False 

inp01 = InputBox(strMsg,"Make your selection") 

Select Case inp01 
Case "A" 
MsgBox "Fout andwoord!",64,strTitle 
strFlag = False
Case "B" 
MsgBox "Goed!",64,strTitle 
strFlag = Treu
Case "C" 
MsgBox "Fout andwoord!",64,strTitle 
strFlag = False
Case Else 
MsgBox "You made an incorrect selection!",64,strTitle 
End Select 

Loop

msgbox " Je bent klaar met je opdracht!",64,strTitle

maar nu herhaalt hij de laatste vraag telkens.... terwijl ik dit Do While strFlag = False toch duidelijk in de code heb staan...
 
Wat ik in het vorige bericht ook al zei:
Jij hebt staan: strFlag = Treu (zie rode tekst) dit moet zijn strFlag = True
Als je dat aanpast dan gaat het wel goed.



Code:
inp01 = InputBox(strMsg,"Make your selection") 

Select Case inp01 
Case "A" 
MsgBox "Fout andwoord!",64,strTitle 
strFlag = False
Case "B" 
MsgBox "Goed!",64,strTitle 
[COLOR="Red"]strFlag = Treu[/COLOR]
Case "C" 
MsgBox "Fout andwoord!",64,strTitle 
strFlag = False
Case Else 
MsgBox "You made an incorrect selection!",64,strTitle 
End Select
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan