02. december 2005 - 23:33Der er
5 kommentarer og 1 løsning
Tæller på msgbox
En bruger skal besvare 10 spørgsmål. Efter hvert svar får brugeren at vide om svaret er rigtigt eller forkert via en msgbox. Problem: Jeg vil gerne efter besvarelsen af første spørgsmål på msgboxen fortælle brugeren at det var: Spørgsmål 1 af 10, 2 af 10 osv. Er der nogen der kan hjælpe med en sådan kode? Msgboxen hentes ved "kaldja"
Select Case lstopgave1.Text Case "1" If svar = ja Then kaldja lstopgave1.ListIndex = 2 Else kaldnej End If Case "2" If svar = ja Then kaldja lstopgave1.ListIndex = 3 Else kaldnej End If
Og meningen er altså, at hvis svaret er ja på spørgsmålet i case1 i lstopgave1.listindex = 1 springes der frem til næste spørgsmål i lstopgave1. Altså til lstopgave1.listindex = 2, hvilket er case2. Hvis 75 points er for lidt, må du sige til.
Private Sub Form_Load() Dim i As Long Dim strSpm As String Dim arrSplit() As String
Dim strText As String Dim intSvar As Integer
Dim intResultat As Integer Dim intSpørgsmål As Integer
' 0 = Nej og 1 = Ja ... (Er det her en test?|JA) strSpm = "Er det her en test?|1|" & _ "Kan man lave et styresystem med Visual Basic?|0|" & _ "Er Word et styresystem?|0|" & _ "Er det Bill Gate som har opfundet Linux?|0|" & _ "Kan Linux installeres på en PC?|1" ' <- Husk at der IKKE skal være | til sidst her.
arrSplit = Split(strSpm, "|") For i = 0 To UBound(arrSplit) Step 2 strText = arrSplit(i) intSvar = Val(arrSplit(i + 1)) intSpørgsmål = (intSpørgsmål + 1)
If MsgBox(strText, vbQuestion + vbYesNo, "Spørgsmål Nr. " & intSpørgsmål) = vbYes Then ' Når du trykker Ja If intSvar = 1 Then intResultat = (intResultat + 1) MsgBox "Rigtigt svar :-)", vbInformation, "Svar" Else MsgBox "Forkert svar :-(", vbInformation, "Svar" End If Else ' Når du trykker Nej If intSvar = 0 Then intResultat = (intResultat + 1) MsgBox "Rigtigt svar :-)", vbInformation, "Svar" Else MsgBox "Forkert svar :-(", vbInformation, "Svar" End If End If Next
If intResultat = intSpørgsmål Then MsgBox "Du har svaret rigtigt på alle spørgsmål, tillykke.", vbInformation, "Resultat" ElseIf intResultat = 0 Then MsgBox "Du har svaret forkert på alle spørgsmål, du må ha dine skolepenge tilbage.. :D", vbInformation, "Resultat" Else MsgBox "Du har svaret rigtigt på " & intResultat & " ud af " & intSpørgsmål, vbInformation, "Resultat" End If End Sub ' ----------------------------- Form1 -----------------------------
Ja, sjh og joern. Jeg har vist fået noget at arbejde med. Sjh det var meget mere, end jeg havde brug for, men flot og jeg kan sikkert bruge det. Vil I oprette et svar? Foreløbig tak for hjælpen.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.