我是VB.net的新手,并且只学习了几个星期我正在做一个项目,我需要使用记事本作为数据库制作EPOS系统。我能够使按钮的值出现在列表框中,但是我有许多按钮都具有不同的值,但每次按下不同的按钮时,只显示文本框中的第一个值。 E.G当Heineken按下按钮" Heineken€5.00"按下Guiness按钮时显示" Heineken€5.00"显示
非常感谢任何帮助!
Imports System.IO
Public Class 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
喜力, 5.00, 20, 吉尼斯, 4.50, 50, Bulmers, 5.00, 25,
答案 0 :(得分:0)
使用System.IO.File.ReadAllLines()
函数获取字符串数组中的所有数据。然后,您可以使用数组索引查找特定行。
注意:您的文本文件必须在每个项目后包含换行符。您发布的文字似乎没有。
例如:
Private Sub BtnGuiness_Click(sender As Object, e As EventArgs) Handles BtnGuiness.Click
Dim lines = System.IO.File.ReadAllLines("DATABASE.txt")
dim Parts = lines(1).Split(","c) '1 means 2nd line
Dim name As String
Dim stock, price As Double
name = Parts(0)
stock = CDbl(Parts(1))
price = CDbl(Parts(2))
lstBox.Items.Add(name & "" & FormatCurrency(price))
End Sub
这假设文本文件包含以下内容:
Heineken, 5.00, 20
Guiness, 4.50, 50
Bulmers, 5.00, 25
(在每行末尾注意ENTER
键)
这只是基本概念。在现实世界中,我们不会这样做。此外,还有一些检查应放在适当的位置,以避免输入文本格式错误导致的异常。为简洁起见,我已经省略了所有这些内容。