Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 如何逐行阅读文本文件-多项选择题测验_Vb.net_Visual Studio - Fatal编程技术网

Vb.net 如何逐行阅读文本文件-多项选择题测验

Vb.net 如何逐行阅读文本文件-多项选择题测验,vb.net,visual-studio,Vb.net,Visual Studio,嗨,我真的需要一些帮助,我需要做一个选择题程序,从两个不同的文本文件(记事本文件)中读取问题和答案 但当我尝试时,我似乎无法让它工作。我尝试过循环,但没有成功,然后我尝试了数组,但不符合从文本文件读取的要求 所以我来找你们,我需要的帮助就是逐行阅读文本文件,然后在需要提出新问题时更新它 我无法逐行阅读(questions.txt),我需要匹配answers.txt中的问题,然后我需要在单击下一个问题时更新它 VB.Net 我需要创建的程序必须执行以下操作 应分别从名为Questions.txt

嗨,我真的需要一些帮助,我需要做一个选择题程序,从两个不同的文本文件(记事本文件)中读取问题和答案 但当我尝试时,我似乎无法让它工作。我尝试过循环,但没有成功,然后我尝试了数组,但不符合从文本文件读取的要求

所以我来找你们,我需要的帮助就是逐行阅读文本文件,然后在需要提出新问题时更新它

我无法逐行阅读(questions.txt),我需要匹配answers.txt中的问题,然后我需要在单击下一个问题时更新它

VB.Net

我需要创建的程序必须执行以下操作

  • 应分别从名为Questions.txt和answers.txt的文件中加载问题和答案
-每次执行程序时,问题也应以随机顺序出现

-更新下一个问题的表格

-跟踪有多少问题是正确的


非常感谢以上任何资源或教程

全部编辑:198305769 lol。整理好答案,这将使您几乎完成。干杯

声明一个全局变量(整数);在这里,您将分配用户回答的问题数量:

Public Class Form1
  Dim keepScore As Integer = 0
不是最简单的,但它会将所选文本文件中的每一行追加到一个数组中,然后您可以遍历它

   Dim ofd As New OpenFileDialog
    ofd.ShowDialog()
    Dim xstr = ofd.FileName

    Dim questions() As String = IO.File.ReadAllLines(ofd.FileName)
    Dim answers() As String = IO.File.ReadAllLines(ofd.FileName)

    Dim sw As New StringBuilder

    Dim i As Integer = 0
    Do Until i = questions.Count()
        sw.AppendLine(Trim(questions(i)))
           MsgBox(questions(i)) 'Only added this so you can see the lines
        i = i + 1
    Loop
    Do Until i = answers.Count()
        sw.AppendLine(Trim(answers(i)))
           MsgBox(answers(i)) 'Only added this so you can see the lines
        i = i + 1
    Loop
在此函数末尾添加一条if语句:

If CorrectAnswer.Checked = True 'Assuming you are using a RadioButton Group, or CheckBox
   keepScore = keepScore + 1
End If
这里是一个快速数字随机器,假设您有20个问题(根据您的问题数量相应更改20个):


祝你好运。

你的头衔不合适。请更改它。问题出在哪里?你能读懂文本文件吗?您在显示问题时遇到问题吗?你能从文本文件中找出什么吗?只是不是所有的问题?问题到底是什么?好的,我需要从一个名为Questions.txt的文件中随机抽取一行“the Question”,然后如果用户为Question Answers.txt选择了正确答案,那么他们会得到一个分数,当他们单击next时,我需要更新问题并更新答案Cheers我会开始使用它清理一下,我意识到我犯了一个错误。从我的头顶写下来,所以请容忍我。现在快速构建,在MsgBox中逐行迭代。只需删除MsgBox行,它就可以阅读任何一行问题。如果你想要它是随机的,你可以对'i'变量做一些数学处理,然后它会匹配两个文档中的行。希望能有帮助。太好了,我确实有20个问题解决了另一个问题,但现在它说sw.AppendLine(Trim(answers(i)))是不允许的,这不是同一个问题
    Randomize()
    Dim i As Integer = CInt(Int(20 * Rnd() + 1))
    MsgBox(i)