-1

可能重复:
如何读取文件并写入文本文件?

我有一个搜索工具,其中项目显示在 ListView 中。这些项目是从文件中读入的。当我在 ListView 中选择一个项目时,我也希望能够将它从文本文件中删除。目前,它只是从 ListView 中删除,但是当我再次搜索时它仍然显示,因此它不会从文本文件中删除。

基本上我的程序是带有条形码和数量的产品列表。用户可以搜索显示在列表视图中的项目,然后对其进行编辑以增加或减少数量。当他们单击保存时,它会写入文件。一切正常,但现在显示该项目两次,相同的条形码和产品名称以及不同的数量。

我尝试使用替换功能,但这只是在我的文件中添加空文本行。我还得到了复制文件并删除所选项目的建议。我不确定该怎么做。有没有人有其他方法可以做到这一点?这是我的代码:

Private Sub cmdEdit_Click()
Dim barcode As String
Dim prodNum As String
Dim unknown As String
Dim desc As String
Dim size As String
Dim costPrice As String
Dim retailPrice As String
Dim deptCode As String
Dim dept As String
Dim subDeptCode As String
Dim subDept As String
Dim quantity As String
Dim barcodeYes As String
Dim Number As String
Dim i As Single

ListView1.ListItems.Remove ListView1.SelectedItem.Index

Open "D:\VB\EXPORT PRODUCT FILE.CSV" For Input As #3
Input #3, barcode, prodNum, unknown, desc, size, costPrice, retailPrice, deptCode, dept,      subDeptCode, subDept, quantity, barcodeYes, Number
AddQuantity.Show
AddQuantity.txtName.Text = ListView1.SelectedItem
AddQuantity.txtBarcode.Text = ListView1.SelectedItem.SubItems(1)
AddQuantity.txtQuantity.Text = ListView1.SelectedItem.SubItems(2)
Close #3
End Sub

谢谢

4

1 回答 1

2

从文件中间删除某些内容的唯一方法是从那时起重写所有内容。

您尚未显示要写入文件的代码,但我假设您正在追加。
您需要更改此项以加载所有数据,更改您想要的条目然后再次保存。

或者,使用专为此类用途设计的数据库。

于 2012-07-24T15:37:17.737 回答