我是VB.net的新手,并且只学习了几周 我正在做一个项目,我需要使用记事本作为数据库来制作EPOS系统。我能够使按钮的值出现在列表框中,但是我有许多按钮都具有不同的值,但每次按下不同的按钮时,只显示文本框中的第一个值。 例如 当喜力按钮按下“Heineken€5.00”时显示 当Guiness按钮按下“Heineken€5.00”时显示
非常感谢任何帮助!
导入System.IO 公共类Form1
Private Sub btnHeineken_Click(sender As Object, e As EventArgs) Handles btnHeineken.Click
Dim sr As IO.StreamReader = IO.File.OpenText("DATABASE.txt")
'File DATABASE.TXT is the the debug folder
Dim name As String
Dim stock, price As Double
name = sr.ReadLine
stock = CDbl(sr.ReadLine)
price = CDbl(sr.ReadLine)
lstBox.Items.Add(name & "" & FormatCurrency(price))
name = sr.ReadLine
End Sub
Private Sub BtnGuiness_Click(sender As Object, e As EventArgs) Handles BtnGuiness.Click
Dim sr As IO.StreamReader = IO.File.OpenText("DATABASE.txt")
'File DATABASE.TXT is the the debug folder
Dim name As String
Dim stock, price As Double
name = sr.ReadLine
stock = CDbl(sr.ReadLine)
price = CDbl(sr.ReadLine)
lstBox.Items.Add(name & "" & FormatCurrency(price))
name = sr.ReadLine
End Sub
DATBASE.txt
Heineken
5.00
20
Guiness
4.50
50
Bulmers
5.00
25
答案 0 :(得分:0)
您的方法都具有完全相同的代码。因此,它们完全相同:它们在文本文件中显示第一个条目的内容。
如果您希望自己的方法执行不同的事情,则需要在其中加入不同的代码。
不幸的是,在您的方法中添加任意代码不会让他们按照您的意愿行事。看起来你已经发现了这一点。所以下一步是采取更有条理的方法:
确定按钮点击应该执行的操作。看起来你已经这样做了:你想要显示" Guiness€4.50"当" Guiness"单击按钮。
接下来,考虑 你的程序如何做到这一点。显然,那就是你被困的地方。你有一个带有条目列表的文本文件,你如何得到你想要的那个?
在代码中翻译步骤2的结果("算法")。
您尝试在第2步之前执行第3步。这不会起作用,这就是您的代码无法正常工作的原因。
我建议您对第2步非常认真(如何在文本文件中查找数据?如果我在我面前打印文件并亲自搜索数据,我该怎么办?),提出一个算法,然后返回这里并询问一个新问题,如果你需要帮助将其翻译成代码。