VBS-vragen

Status
Niet open voor verdere reacties.

klimmer

Gebruiker
Lid geworden
17 nov 2008
Berichten
135
Ik probeer een soort overhorings script te maken. (bijvoorbeeld als je woorden moet leren voor frans,engels,duits...)

Het moet dus zo ongeveer worden:

vrg1=inputbox"Wat is het engelse woord voor lopen"
if vrg1=walk Then msgbox"Goedzo"
Else msgbox"Fout!"

Ik weet alleen niet hoe het zit met de "",: staptie's en de rest;)

Dus je krijgt een input met een vraag, als je de vraag goed hebt krijgt de variabele goed 1'punt' erbij. als je hem fout hebt gaat er bij fout 1 punt bij.
aan het einde krijg je
msgbox"Einde overhoring aantal goed:"+goed+"aantal fout:"+fout

ik wil dus weten hoe het zit met het controleren van een input.

mvg
casper
 
Als eerste is jouw script niet helemaal goed.

Als je namelijk een string hebt moet deze rond quotes (") staan. Bij je IF regel vergeet je dat 1 keer.
Code:
if vrg1=[B]"walk"[/B] Then msgbox"Goedzo"

Als eerste is dit help bestand van MS best nuttig als je meer wilt weten van VBS.

Daarnaast raad ik je aan om bv met bestanden te werken.
Het transscript ziet er dan ongeveer zo uit:
- kies welk bestand waarmee je wilt oefenen
- lees de eerste regel in van het bestand
- splits de vraag en het antwoord (gebruik bv || in het bestand als scheiding) en zet ze elk in een eigen array
- doe dit vervolgens met alle regels in het bestand
- pak een random nr
- lees de vraag array uit van dat nr
- check het antwoord dmv het antwoord array en het nr
- volgende vraag is nieuw random nr

PS als je Access hebt zou je ook daar kunnen kijken. Daar kun je er makkelijker ook een mooie gui maken. En dan kun je natuurlijk gewoon werken met tabellen voor de overhoringsdingen.
 
Laatst bewerkt:
dankje!

en hoe zit het met de 'Else' functie??

dus als het antwoord fout is dan moet er 1punt bij de variabele fout worden opgeteld

goed=0
fout=0
vrg1=input"Engelse woord voor lopen:"
if vrg1="walk' then msgbox"goedzo!" goed=goed+1
else msgbox"fout!" fout=fout+1

wat moet ik er aan veranderen??
 
1. Dim je variabelen! is goed voor je.
2. netjes coden, maakt het lekker overzichtelijk
3. zo:

Code:
dim goed
dim fout
dim vrg1

goed = 0
fout = 0

vrg1 = inputbox("Engelse woord voor lopen:")

if vrg1 = "walk" then
   msgbox "goed!"
   goed = goed + 1
else
   msgbox "fout!"
   fout = fout + 1
end if


if/else/end if is niet zo heel lastig hoor. Zoiets:
Code:
if iets = iets
  [COLOR="SeaGreen"] 'dan doe je dit[/COLOR]
elseif iets = ietsanders
  [COLOR="SeaGreen"] 'dan doe je iets anders[/COLOR]
elseif iets = nogietsanders
  [COLOR="SeaGreen"] 'dan doe je nog iets anders[/COLOR]
else
  [COLOR="SeaGreen"] 'het is geen van bovenstaande[/COLOR]
end if
 
Ik probeer een soort overhorings script te maken. (bijvoorbeeld als je woorden moet leren voor frans,engels,duits...)

Het moet dus zo ongeveer worden:

vrg1=inputbox"Wat is het engelse woord voor lopen"
if vrg1=walk Then msgbox"Goedzo"
Else msgbox"Fout!"

Ik weet alleen niet hoe het zit met de "",: staptie's en de rest;)

Dus je krijgt een input met een vraag, als je de vraag goed hebt krijgt de variabele goed 1'punt' erbij. als je hem fout hebt gaat er bij fout 1 punt bij.
aan het einde krijg je
msgbox"Einde overhoring aantal goed:"+goed+"aantal fout:"+fout

ik wil dus weten hoe het zit met het controleren van een input.

mvg
casper

om je msgboxen nog mooier te maken kun je dit doen : msgbox ("Goedzo", msgboxstyle.okonly)

msgbox ("fout jou antwoord was" + textbox1.text + "het goede andwoord was walk", msgboxstyle.okonly)

en voor de puntentelling zou ik 2 labels maken een voorde goede antwoorden en een voor de foute

en dan zou de code moeten zijn (volgenmij ik kijk van de week nog wel even op mijn anderen pc daar staat het op) :

vrg1=inputbox"Wat is het engelse woord voor lopen"
if vrg1=walk Then msgbox ("Goedzo", msgboxstyle.okonly)
label1.text + "1"

Else msgbox ("fout jou antwoord was" + textbox1.text + "het goede andwoord was walk", msgboxstyle.okonly)
label2.text + "1"


of als je het maar met een label doet


vrg1=inputbox"Wat is het engelse woord voor lopen"
if vrg1=walk Then msgbox ("Goedzo", msgboxstyle.okonly)
label1.text + "1"

Else msgbox ("fout jou antwoord was" + textbox1.text + "het goede andwoord was walk", msgboxstyle.okonly)
label1.text - "1"


en dan kun je er ook nog een timer op zetten

als je dat wil laat het dan even weten dan geef ik daar de code van

en als dit voor school is raad ik aan www.wrts.nl

gebruik ik ook voor frans

mvg rick :thumb:

ps kan iemand mij helpen : http://www.helpmij.nl/forum/showthread.php?p=2577021#post2577021

ik moet favorieten voor mijn browser hebben
 
Dankjulliebeide:thumb:

deze msgboxjes waren ook maar even voor het voorbeeld(anders wordt het nog romeliger)

wrts hou ik niet zo van, want dan is het maar 1 ding wat je moet doen, en ik wil een script dat je gewoon opent, en 1 keer per 2 minuten een vraag stelt

maar ik denk dat ik het zo wel red voor een tijdje!
 
Code:
en voor de puntentelling zou ik 2 labels maken een voorde goede antwoorden en een voor de foute
Hallo. Het gaat hier om VBS, niet VB. Geen labels, geen forms, etc etc. ;)
bovendien moet je strings wel tussen haakjes zetten:
Code:
if vrg1=walk then ...
->
Code:
if vrg1 = "walk" then ...


:thumb:
 
Code:
en voor de puntentelling zou ik 2 labels maken een voorde goede antwoorden en een voor de foute
Hallo. Het gaat hier om VBS, niet VB. Geen labels, geen forms, etc etc. ;)
bovendien moet je strings wel tussen haakjes zetten:
Code:
if vrg1=walk then ...
->
Code:
if vrg1 = "walk" then ...


:thumb:


sorry dat heb ik niet gezien
vb gaat toch ook?

waar kan je vbs downloaden?
 
Laatst bewerkt:
ik heb hem gemaakt ik visual basic

je kunt hem downloaden op http://rapidshare.com/files/183862404/WindowsApplication1.exe.html

de visual basic code
Code:
Public Class Form1
    Dim goed As Integer
    Dim fout As Integer
    Dim goed_met_1_label As Integer
    Dim fout_met_1_label As Integer
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        If TextBox1.Text = "walk" Then
            MsgBox("goed zo", MsgBoxStyle.OkOnly, MsgBoxStyle.Information)
            goed = goed + 1
            Label2.Text = goed
            '1 label'
            goed_met_1_label = goed_met_1_label + 1
            Label6.Text = goed_met_1_label
            'volgende vraag'
            TextBox2.Visible = True
            TextBox1.Visible = False
            Button1.Visible = False
            Button2.Visible = True
            Label1.Text = "wat is het engelse woord voor vliegen"

        Else
            MsgBox("fout jou antwoord was " + TextBox1.Text + " het goede andwoord was walk", MsgBoxStyle.OkOnly)
        fout = fout + 1
            Label3.Text = fout
            'volgende vraag'
        TextBox2.Visible = True
            TextBox1.Visible = False
            Button1.Visible = False
            Button2.Visible = True
            Label1.Text = "wat is het engelse woord voor vliegen"
        End If
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        If TextBox2.Text = "fly" Then
            MsgBox("goed zo", MsgBoxStyle.OkOnly, MsgBoxStyle.Information)
            goed = goed + 1
            Label2.Text = goed
            'of zo met een label'
            goed_met_1_label = goed_met_1_label + 1
            Label6.Text = goed_met_1_label
            'volgende vraag'
            TextBox2.Visible = False
            TextBox3.Visible = True
            Button2.Visible = False
            Button3.Visible = True
            Label1.Text = "enzovoort"
        Else
            MsgBox("fout jou antwoord was " + TextBox2.Text + " het goede andwoord was fly", MsgBoxStyle.OkOnly)
            fout = fout + 1
            Label3.Text = fout
            '1 label'
            fout_met_1_label = fout_met_1_label - 1
            Label6.Text = fout_met_1_label
            'volgende vraag'
            TextBox2.Visible = False
            TextBox3.Visible = True
            Button2.Visible = False
            Button3.Visible = True
            Label1.Text = "enzovoort"
        End If
    End Sub

    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        If TextBox3.Text = "enzovoort" Then
            MsgBox("goed zo", MsgBoxStyle.OkOnly, MsgBoxStyle.Information)
            goed = goed + 1
            Label2.Text = goed
            '1 label'
            goed_met_1_label = goed_met_1_label + 1
            Label6.Text = goed_met_1_label
            'volgende vraag'
            TextBox2.Visible = True
            TextBox1.Visible = False
            Button3.Visible = False
            Button4.Visible = True
            Label1.Text = "volgende vraag"

        Else
            MsgBox("fout jou antwoord was " + TextBox1.Text + " het goede andwoord was enzovoort", MsgBoxStyle.OkOnly)
            fout = fout + 1
            Label3.Text = fout
            'volgende vraag'
            TextBox2.Visible = True
            TextBox1.Visible = False
            Button3.Visible = False
            Button4.Visible = True
            Label1.Text = "volgende vraag"
        End If
    End Sub

    Private Sub TextBox3_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox3.TextChanged

    End Sub
End Class

als je perse vbs wilt hebben dan kan ik je niet verder helpen
 
Laatst bewerkt:
Hallo. Het gaat hier om VBS, niet VB. Geen labels, geen forms, etc etc. ;)
Als je echt wilt kun je wel een pseudo iets gebruiken.
Start in je script een iexplorer strip deze van alle onnodige balken, en pomp deze vol met een pagina met een leuke form. Knoppen en labels koppel je dan gewoon aan en in vbs functies.

Maar als je zoiets gaat maken kun je beter werken met een HTML Applicaties.
Microsoft http://www.microsoft.com/technet/scriptcenter/hubs/htas.mspx zei:
(Spoiler: HTAs enable you to use Internet Explorer to provide a graphical user interface for your scripts.)
 
ik kan alleen niet het aantal fouten en goede antwoorden aan het einde laten zien:

PHP:
dim goed
dim fout
dim vrg1

goed=0
fout=0


vrg1=inputbox("Wat is lopen in het engels?")

if vrg1="walk" Then 
msgbox"goedzo!" 
goed=goed+1
else
msgbox"fout!" 
fout=fout+1
end if

msgbox "je hebt zoveel aantal goede antwoorden" +goed

ik krijg dan de fout:
regel 19, teken 1
fout: typen komen iet met elkaar overeen: '[string:"je hebt zovel aant"]'
code: 800A000D

weet iemand wat ik hier aan kan/moet doen(vast wel)

mvg
klimmer
 
Je gebruikt + als het koppel teken. Ik geloof dat je het & als koppelteken moet gebruiken.

Code:
msgbox "je hebt zoveel aantal goede antwoorden " [B]&[/B] goed
 
Yup, TheM heeft gelijk. Een plus ( + ) gebruik je om getallen op te tellen. Een en ( & ) gebruik je om strings aan elkaar te plakken.


:thumb:
 
danku:P

ik was eerst op een ander forum(maar is daar een beetje dood)

daar zei iemand dit, vandaar mijn + ;)

PHP:
"Ik heb een mand met " + nummer + "appels."
appels + "heb ik dus in mijn mandje."

"Jouw antwoord " + a + " is wel een heel vreemd antwoord."

"Aan elkaar plakken van meerdere " + "string is wel mogelijk maar erg nutteloos."
"Het plakken van " + var1 + var2 + var3 + " kan wel handig zijn."
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan