如何从VB6中的文本文件中删除一行文本?

时间:2012-07-24 15:24:46

标签: vb6

  

可能重复:
  How to read a file and write into a text file?

我有一个搜索工具,其中的项目显示在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

由于

1 个答案:

答案 0 :(得分:2)

从文件中间删除内容的唯一方法是从该点开始重写eveything。

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

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