2012-07-24 152 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