01. december 2005 - 12:23Der er
24 kommentarer og 1 løsning
hjælp til if else
Der er gået kludder i min kode. Den bliver ved at gå videre til næste if og gennemløber så samtlige ifer...
Private Sub Command2_Click() On Error Resume Next Dim facit As Integer Dim facit1 As Integer facit = Val(Text5.Text) facit1 = Val(Text7.Text)
If lstopgave.Text = 1 Then If (facit = 7) And (facit1 = 0) Then MsgBox "Flot klaret! Gå bare videre" Else MsgBox "Kun næsten rigtigt..., prøv bare igen!" End If End If
If lstopgave.Text = 2 Then If (facit = 9) And (facit1 = 0) Then MsgBox "Flot klaret! Gå bare videre" Else MsgBox "Kun næsten rigtigt..., prøv bare igen!" End If End If
If lstopgave.Text = 1 Then If (facit = 7) And (facit1 = 0) Then MsgBox "Flot klaret! Gå bare videre" Else MsgBox "Kun næsten rigtigt..., prøv bare igen!" End If End If
If lstopgave.Text = 2 Then If (facit = 9) And (facit1 = 0) Then MsgBox "Flot klaret! Gå bare videre" Else MsgBox "Kun næsten rigtigt..., prøv bare igen!" End If End If
Vend dig til at lave det på denne måde, ellers er det let at miste overblikket.
dette giver samme problem If (lstopgave.Text = 1) And (facit = 7) And (facit1 = 0) Then MsgBox "Flot klaret! Gå bare videre" Else MsgBox "Kun næsten rigtigt..., prøv bare igen!" End If
Så forstår jeg ikke hvorfor den går videre til de 9 andre, for lstopgave.Text har jo kun den ene værdi, som der er valgt i listboksen, derfor kan If lstopgave.Text = 2 Then If (facit = 9) And (facit1 = 0) Then MsgBox "Flot klaret! Gå bare videre" Else MsgBox "Kun næsten rigtigt..., prøv bare igen!" End If End If Jo ikke være sand, hvis 1 er valgt
>kabbak Det hjalp ikke noget. >dragonknight Det er som om den "hænger". Men måske er koden grundlæggende forkert. Meningen er jo, at den skal vælge fra listen fx 1 og herefter skal man kunne gå videre til opgave fx 9. Men hvordan skal koden så se ud?
Det ville nok vaere strukturelt nemmere at overskue hvis du brugte en Case istedet med saa mange valg Select Case lstopgave.text Case "1" If (facit = 9) And (facit1 = 0) Then ... End if Case "2" osv.
>overchord Det var en god idé. Nu virker det, sgu! Lav lige et svar. >dragonknight Lav lige et svar på din hjælp. Det kniber åbenbart med min logik, men jeg gider ikke rode mere med if/else i denne omgang. Mit problem er løst nu.
>dragonknigth Jeg har ikke glemt dig, men som du ser, har jeg forhøjet til 60. Det var meningen, at du skulle dele med overchord, men han har ikke svaret. Hvis jeg accepterer nu, får du 60 point. Det under jeg dig gerne, men alligevel..., ik? Hvis du ikke hører noget i løbet af et par dage, så bare lav en rykker her på siden.
PIS!!! Så gjorde jeg det alligevel forkert. Undskyld overchord! Forhåbentlig spørger jeg snart om noget igen, så skal du nok få dine points. Jeg kan ikke redde den nu.
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.