检查文本框是否与文本文件的任何字符串相对应.VB.NET VB2010

时间:2015-12-15 17:44:17

标签: vb.net

我正在努力在vb2010制作POS软件,但我仍然坚持这个问题: 我试图做到以下几点:*意味着它是我想要的代码:

   if textbox1.text = *matches to a barcode then
dim bar as string
dim price as string
dim name as string
bar = *get.currentline.ofbarcode()
price = readtextline(bar+1)
name = readtextline(bar+2)
namelist.items.add(name)
pricelist.items.add(price)
end if

注意:我不是一个初学者!我是中等高级的 如果它存在与我要求的相同的其他帖子,您可以给我写主题并关闭此主题。我还在学习......

谢谢!

编辑: 文件格式是这样的(它的C:\ price.ini):

      barcode1
    price1
    name1
    barcode2
    price2
    name2
at end,
9879,security label

依旧......

再次感谢你。

2 个答案:

答案 0 :(得分:0)

最简单的方法是将文件中的所有条形码加载到数组或列表中,然后您可以遍历数组并查看是否有任何条形码与输入的代码匹配

答案 1 :(得分:0)

如果您可以控制文本文件的创建方式,您可能会发现每个项目都有一行(包含条形码,价格和名称)更容易,但以下代码使用您发布的格式。

您可以使用System.IO.ReadAllLines将整个文本文件读入String数组。然后遍历数组检查每个第三个元素,看看它是否是你想要的条形码。找到所需内容后,将下两个元素添加到ListBox中。

Dim lines() As String = IO.File.ReadAllLines("C:\price.ini")
For i As Integer = 0 To lines.Length - 1 Step 3
    If lines(i) = TextBox1.Text Then
        priceList.Add(lines(i + 1))
        nameList.Add(lines(i + 2))
        Exit For
    End If
Next

如果我使用您发布的文本文件运行此代码,我在TextBox1中看到“999”,我在priceList中看到“1”,在nameList中看到“Soap”;在TextBox1中使用“333”,我在priceList中看到“2”,在nameList中看到“Bread”。