2012-07-24 200 views
-1

可能重复:
How to read a file and write into a text file?如何从VB6的文本文件中删除一行文本?

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

感谢

回答

2

从文件的中间删除的时候,唯一的办法就是从该点改写eveything起。

你还没有显示你的代码写入文件,但我认为你正在追加。
你需要改变它来加载所有数据,改变你想要的条目然后再保存它。

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

+0

谢谢迪安娜。是的,我正在追加。这将进入下一个表单,但无论在listView中突出显示的是我想从文本文件中删除的内容。那么我将如何去改变条目并再次保存整个文件呢? – user1532055 2012-07-24 15:43:47

+0

查看问题LittleBobbyTables [标记为重复](http://stackoverflow.com/q/1404758/588306)。 – Deanna 2012-07-24 16:31:09