dears,
please assist me in VB.net as from newbie
im trying to make easy MCQ (employees and departments). i have 3 problems :
(before you start reading my issues , please copy and paste all my codes in new form of visual basic and add 4 radio buttons , 1 label and 2 buttons, so the questions will be easily understanding points)
1- i want to randomize the questions - (not the answers)-: always my questions are in the same sequence. for example : question #1 is "rich" , Q2# "Tal" , Q3#"sau".
what i want is to randomize them some times "sau" become Q#1 and so on...
2- if the person answered the right question i dont want to see the question again in the list (unless the person load the form again). for example: "rich" is IT department, if the person choose IT then the quiz continue with the rest of questions " Tal","sau" without the question been answered correctly "rich"
3-i want to move on to the next question directly: in my example: if i choose radio button 1 or 2 or 3 or 4 then i have to click on button 1 to move to the next question.
what i want is to skip the button 1( i want to remove it) and just have the quiz with starting button and 1 label and 4 radio buttons.
for database file:
i dont know how to connect it to data base although i have data base file already from 6 columns. after i load the data base file into the visual basic im not sure how to mingle it with the codes.
therefore please assist me with the normal codes without the database.
thank you very much
What I have tried:
Public Class Form1
Private Structure questionsNanswers
Public Q As String
Public a As String
Public QT As Integer
Public QC As Integer
End Structure
Private wstart As Integer
Private adad As Integer = 10
Private QA(15) As questionsNanswers
Private word(999) As String
Private names(999) As String
Private aray(999) As Integer
Private Sub RandomizeArray(a As Integer, ByRef array() As Integer)
Dim i As Integer
Dim j As Integer
Dim tmp As Integer
Randomize()
For i = 0 To a - 1
j = Int((6 - i + 1) * Rnd() + i)
tmp = array(i)
array(i) = array(j)
array(j) = tmp
Next
End Sub
Private Sub randomize()
Dim r As New Random
End Sub
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
' next
CheckEntry()
wstart = wstart + 1
If wstart >= adad Then
wstart = 0
End If
WriteText()
randomize()
End Sub
Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
' previous
CheckEntry()
wstart = wstart - 1
If wstart < 0 Then
wstart = adad - 1
End If
WriteText()
End Sub
Private Sub CheckEntry()
RadioButton1.Visible = True
RadioButton2.Visible = True
RadioButton3.Visible = True
RadioButton4.Visible = True
RadioButton1.ForeColor = Color.Black
RadioButton2.ForeColor = Color.Black
RadioButton3.ForeColor = Color.Black
RadioButton4.ForeColor = Color.Black
RadioButton1.Checked = False
RadioButton2.Checked = False
RadioButton3.Checked = False
RadioButton4.Checked = False
End Sub
Private Sub WriteText()
Dim out As Boolean = False
For kk = 0 To 6
aray(kk) = kk
Next
RandomizeArray(7, aray)
Do Until out
For j = 0 To 3
If out = False Then
If aray(j) = QA(wstart).QT Then
out = True
Exit Do
End If
End If
Next
For kkk = 0 To 6
aray(kkk) = kkk
Next
RandomizeArray(7, aray)
Loop
RadioButton1.Text = word(aray(0))
RadioButton2.Text = word(aray(1))
RadioButton3.Text = word(aray(2))
RadioButton4.Text = word(aray(3))
Label1.Text = QA(wstart).Q
' ==============================
' Dim go As Boolean = False
'If go Then
'Dim msg As String
'For ll = 0 To 6
'msg = msg + CStr(aray(ll)) + "|"
'Next
'MsgBox(msg)
'End If
End Sub
Public Sub New()
' This call is required by the designer.
InitializeComponent()
' Add any initialization after the InitializeComponent() call.
'a
word(0) = "TA"
word(1) = "GR"
word(2) = "HR"
word(3) = "FIN"
word(4) = "commercial"
word(5) = "Proc"
word(6) = "IT"
names(0) = "rich"
names(1) = "Tal"
names(2) = "sau"
names(3) = "pat"
names(4) = "del"
'q and wstart means between ( )
QA(0).Q = names(0)
QA(0).a = word(6)
QA(0).QT = 6
QA(0).QC = -1
QA(1).Q = names(1)
QA(1).a = word(1)
QA(1).QT = 1
QA(1).QC = -1
QA(2).Q = names(2)
QA(2).a = word(2)
QA(2).QT = 2
QA(2).QC = -1
QA(3).Q = names(3)
QA(3).a = word(3)
QA(3).QT = 3
QA(3).QC = -1
QA(4).Q = names(4)
QA(4).a = word(5)
QA(4).QT = 5
QA(4).QC = -1
WriteText()
End Sub
Private Sub RadioButton1_CheckedChanged(sender As System.Object, e As System.EventArgs) Handles RadioButton1.CheckedChanged
If RadioButton1.Checked Then
If StrComp(QA(wstart).a, RadioButton1.Text) = 0 Then
RadioButton1.ForeColor = Color.Red
RadioButton2.Visible = False
RadioButton3.Visible = False
RadioButton4.Visible = False
End If
End If
' If RadioButton1.ForeColor = Color.Red Then
' End If
' If wstart >= adad Then
'wstart = 0
' End If
'wstart = wstart + 1
' If wstart >= adad Then
'wstart = 0
' End If
End Sub
Private Sub RadioButton2_CheckedChanged(sender As System.Object, e As System.EventArgs) Handles RadioButton2.CheckedChanged
If RadioButton2.Checked Then
If StrComp(QA(wstart).a, RadioButton2.Text) = 0 Then
RadioButton2.ForeColor = Color.Red
RadioButton1.Visible = False
RadioButton3.Visible = False
RadioButton4.Visible = False
End If
End If
End Sub
Private Sub RadioButton3_CheckedChanged(sender As System.Object, e As System.EventArgs) Handles RadioButton3.CheckedChanged
If RadioButton3.Checked Then
If StrComp(QA(wstart).a, RadioButton3.Text) = 0 Then
RadioButton3.ForeColor = Color.Red
RadioButton1.Visible = False
RadioButton2.Visible = False
RadioButton4.Visible = False
End If
End If
End Sub
Private Sub RadioButton4_CheckedChanged(sender As System.Object, e As System.EventArgs) Handles RadioButton4.CheckedChanged
If RadioButton4.Checked Then
If StrComp(QA(wstart).a, RadioButton4.Text) = 0 Then
RadioButton4.ForeColor = Color.Red
RadioButton1.Visible = False
RadioButton2.Visible = False
RadioButton3.Visible = False
End If
End If
End Sub
Private Sub Label1_Click(sender As Object, e As EventArgs) Handles Label1.Click
End Sub
Private Sub RadioButton1_Click(sender As Object, e As EventArgs) Handles RadioButton1.Click
End Sub
Private Sub RadioButton1_MouseClick(sender As Object, e As MouseEventArgs) Handles RadioButton1.MouseClick
' If RadioButton1.Checked Then
'If StrComp(QA(wstart).a, RadioButton1.Text) = 0 Then
'RadioButton1.ForeColor = Color.Red
'RadioButton2.Visible = False
'RadioButton3.Visible = False
'RadioButton4.Visible = False
'End If
' End If
' moveto()
End Sub
Private Sub moveto()
wstart = wstart + 1
If wstart >= adad Then
wstart = 0
End If
'random()
WriteText()
' If RadioButton1.ForeColor = Color.Red Then MessageBox.Show("correct") Else MessageBox.Show("false")
' If RadioButton2.ForeColor = Color.Red Then Label1.Text = QA(wstart).Q
' If RadioButton3.ForeColor = Color.Red Then Label1.Text = QA(wstart).Q
' If RadioButton3.ForeColor = Color.Red Then Label1.Text = QA(wstart).Q
End Sub
End Class