Avatar billede slejpnir Nybegynder
02. december 2005 - 23:33 Der 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"
Avatar billede joern Nybegynder
03. december 2005 - 00:07 #1
Hej.

  x = msgbox("Næste spørgsmål er...",36,"Spørgsmål nr. " & nr)
  if x = 6 then    'ja
  if X = 7 then    'nej
  nr = nr +1

Vis din kode, hvis ikke du kan komme videre.
Avatar billede slejpnir Nybegynder
03. december 2005 - 01:03 #2
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.
Avatar billede sjh Nybegynder
03. december 2005 - 03:08 #3
Kan ikke lige se hvordan du får det til at hænge sammen.. men her er en du kan lege lidt med:


' ----------------------------- Form1 -----------------------------
Option Explicit

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 -----------------------------
Avatar billede slejpnir Nybegynder
03. december 2005 - 12:05 #4
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.
Avatar billede joern Nybegynder
03. december 2005 - 12:18 #5
Sjh fortjener dem allesammen - mit var bare et lille hint.
Avatar billede sjh Nybegynder
03. december 2005 - 22:17 #6
okææ
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester