2015-02-11 72 views
0

我仍然在嘗試學習如何在vb.net中進行測驗。我越來越近了。我有一個讀取下一個和一個讀取提交的按鈕。我有一個標籤,內容如下:問題1:以及包含問題的文本框。我在第一個文本框下面有一個文本框,其中有多個選擇答案。如何獲得下一個按鈕來閱讀我的文本文件中的下一個問題,這樣人們可以在下一個按鈕轉到下一個問題之前選擇答案?下一步按鈕抓取文本文件中的下一行文本

這是我到目前爲止的代碼:

Private Sub Button40_Click(sender As Object, e As EventArgs) Handles Button40.Click 
    Dim FILE_NAME As String = "C:\Quiz\GenesisQuiz.txt" 
    If System.IO.File.Exists(FILE_NAME) = True Then 
     Dim objReader As New System.IO.StreamReader(FILE_NAME) 
     TextBox1.Text = objReader.ReadToEnd & vbCrLf 
     objReader.Close() 
    Else 
     MessageBox.Show("Wrong answer, please try again!") 
    End If 
End Sub 

這當然讀的第一個問題到明年標註問題1文本框:如果我把文本中的任意多行到文本文件,然後所有的行讀入文本框。 謝謝你的幫助。我認爲這與一個做對於像聲明:

For i As Integer = 1 To lineNumber - 1 

學習的樂趣!

這是正確的軌道嗎?

Public Class Quiz 
    Public question As String 
    Public choices As String 
    Public answer As String 
    Public Score As Integer 
    Public Sub New(question As String, choices As String, answer As String, score As Integer) 
     Me.question = question 
     Me.choices = Choices 
     Me.answer = Answer 
     Me.Score = Score 
    End Sub 
End Class 

Private Sub Button40_Click(sender As Object, e As EventArgs) Handles Button40.Click 
    Dim QuizList As New List(Of Quiz)() 
End Sub 
End Class 

繼續學習!感謝您的迴應!

+0

將while文件讀入一個List(Of String)(或者一個數組,如果必須的話)並從那裏使用它們,則不需要每次都讀取整個文件。你的'IF'語句也是詭異的 - FileExists的其他部分是FILENOTFOUND不是「錯誤的答案」 – Plutonix 2015-02-11 01:44:38

+0

謝謝你的建設性批評Plutonix!我正在嘗試爲聖經學習應用程序進行測驗 - 多項選擇測驗。我嘗試了各種各樣的方法來達到這個目標,但並沒有真正喜歡我想要的東西。我只想每次添加1個問題,這樣一個人就有機會在下一個問題按鈕之前選擇答案,以便在文本框中彈出下一個問題。我正在查看你給我的列表(字符串)答案。謝謝! – 2015-02-11 02:01:59

+0

如果它是多選題,你應該使用一個類來保持問題,選擇和實際答案。把它們放在'測驗列表'中,顯示'QuizList(ndx)',然後當它們碰到下一個時,對它進行評分併爲下一個增加'ndx'。 – Plutonix 2015-02-11 02:05:54

回答

0

感謝Plutonix和BobRodes幫助我!

Public Class Form1 
Dim lines() As String 
Dim answers() As String 
Dim index As Integer = 0 

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load 
    lines = IO.File.ReadAllLines("C:\Quiz\GenesisQuiz.txt") 
    answers = IO.File.ReadAllLines("C:\Quiz\GenesisAnswers.txt") 

Private Sub Button40_Click(sender As Object, e As EventArgs) Handles Button40.Click 
    TextBox1.Text &= lines(index) & Environment.NewLine 
    index += 1 
    If index > lines.GetUpperBound(0) Then Button40.Enabled = False 
End Sub 

Private Sub Button41_Click(sender As Object, e As EventArgs) Handles Button41.Click 
    TextBox1.Clear() 
End Sub 

Private Sub Button40_MouseClick(sender As Object, e As MouseEventArgs) Handles Button40.MouseClick 
    If File.Exists("C:\Quiz\GenesisAnswers.txt") Then 
     Dim ioFile As New StreamReader("C:\Quiz\GenesisAnswers.txt") 
     TextBox2.Text = ioFile.ReadLine() 
     TextBox3.Text = ioFile.ReadLine() 
     TextBox4.Text = ioFile.ReadLine() 
     TextBox5.Text = ioFile.ReadLine() 
    End If 
End Sub 

Private Sub Button41_MouseClick(sender As Object, e As MouseEventArgs) Handles Button41.MouseClick 
    TextBox2.Clear() 
    TextBox3.Clear() 
    TextBox4.Clear() 
    TextBox5.Clear() 
End Sub 

所以這是我迄今爲止的測驗。仍然有辦法,但到達那裏。仍在學習和玩樂。隨意給建設性的批評!

相關問題