2015-02-23 22 views
0

我對VB.net來說是全新的,只有幾個星期的學習 我正在做一個項目,我需要製作一個使用記事本作爲數據庫的EPOS系統。我可以使按鈕的值出現在列表框中,但是我有許多按鈕都有不同的值,但每次按下不同的按鈕時,只有文本框中的第一個值出現。 E.G 喜力時按下按鈕「喜力啤酒€5.00」被吉尼斯世界時按下按鈕「喜力啤酒€5.00」顯示VB中的記事本數據庫

任何幫助是極大的讚賞顯示 !

進口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

兩個你的方法有完全相同的代碼。因此,他們完成同樣的事情:他們在文本文件中顯示第一個條目的內容。

如果你想你的方法做不同的事情,你需要把不同碼在其中。

不幸的是,在你的方法中放入任意代碼不會使它們做你想做的事。看起來你已經發現了。所以下一步是採取更加結構化的方法:

  1. 決定你的按鈕點擊應該做什麼。看起來您已經這麼做了:點擊「Guiness」按鈕時,您想要顯示「Guiness€4.50」。

  2. 接下來,想想如何你的程序可以做到這一點。顯然,這就是你卡住的地方。你有一個帶有條目列表的文本文件,你如何得到你想要的?

  3. 在代碼中轉換步驟2(「算法」)的結果。

您試圖在第2步之前執行第3步。這不起作用,這就是您的代碼無法工作的原因。

我建議你認真考慮第2步(如何在文本文件中查找數據?如果我在前面打印了文件並正在搜索數據,我該如何處理?) ,拿出一個算法然後回到這裏,並問一個新的問題,如果你需要幫助翻譯它的代碼。

+0

謝謝你的幫助,我花了最後2個小時研究如何從.txt文件中選擇特定的行來讀取,但我試圖做的一切都沒有工作,例如對於我作爲整數= 0 To sArray.Length - 1 – 2015-02-23 14:13:37

+0

@LorraineEllenMulcahy:我建議你開始一個新的問題(我如何在文本文件中找到特定的行)並在那裏描述你的問題(你想找到一條線,然後提取下兩個行,如果我正確理解你的問題)。 – Heinzi 2015-02-23 14:27:24