База данных блокнота в VB

Я совершенно новичок в VB.net и учусь всего несколько недель. Я делаю проект, в котором мне нужно создать системы EPOS, используя блокнот в качестве базы данных. Я могу отображать значения кнопок в списке, однако у меня есть множество кнопок с разными значениями, но только первое значение в текстовом поле появляется каждый раз, когда нажимается другая кнопка. Например, при нажатии кнопки Heineken отображается сообщение «Heineken €5.00», при нажатии кнопки Guness отображается сообщение «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

БАЗЫ БАЗЫ.txt

Heineken
5.00
20
Guiness
4.50
50
Bulmers
5.00
25

person Lorraine Ellen Mulcahy    schedule 23.02.2015    source источник


Ответы (1)


Оба ваших метода имеют точно такой же код. Таким образом, они делают одно и то же: показывают содержимое первой записи в вашем текстовом файле.

Если вы хотите, чтобы ваши методы выполняли другие действия, вам нужно поместить в них другой код.

К сожалению, размещение произвольного кода в ваших методах не заставит их делать то, что вы хотите. Похоже, вы это уже обнаружили. Поэтому следующим шагом будет более структурированный подход:

  1. Решите, что должно делать нажатие кнопки. Похоже, вы уже сделали это: вы хотите отображать «Guiness €4,50» при нажатии кнопки «Guiness».

  2. Затем подумайте, как ваша программа может это сделать. Видимо, тут вы застряли. У вас есть текстовый файл со списком записей, как вы получите тот, который вам нужен?

  3. Переведите результат шага 2 («алгоритм») в код.

Вы пытались выполнить шаг 3 перед шагом 2. Это не сработает, и именно поэтому ваш код не работает.

Я предлагаю вам хорошенько подумать над шагом 2 (Как мне найти данные в текстовом файле? Как бы я это сделал, если бы передо мной был распечатанный файл, и я искал данные лично?), придумать алгоритм, а затем вернитесь сюда и задайте новый вопрос, если вам нужна помощь в переводе его в код.

person Heinzi    schedule 23.02.2015
comment
Спасибо за вашу помощь, я провел последние 2 часа, исследуя, как выбрать определенную строку из файла .txt для чтения, но все, что я пытался сделать, не сработало, например, For i As Integer = 0 To sArray. Длина - 1 - person Lorraine Ellen Mulcahy; 23.02.2015
comment
@LorraineEllenMulcahy: я предлагаю вам начать новый вопрос об этом (как мне найти определенную строку в текстовом файле) и описать там вашу проблему (вы хотите найти строку, а затем извлечь следующие две строки, если я понял вашу проблему правильно). - person Heinzi; 23.02.2015