2010-04-23 89 views
1

的特定行我有寫入文件

"James","Project5","15/05/2010","3" 
"Matt","Project1","01/05/2010","5" 
"Ellie","Project5","24/04/2010","1" 
"Ellie","Project2","10/05/2010","3" 
"Matt","Project3","03/05/2010","4" 

它被寫入與thise代碼這樣的數據.dat文件。

Private Sub Command2_Click() 
Open jobs For Append As #1 
Write #1, Combo1, Combo3, Combo2, Text3 
Close #1 
End Sub 

我反而想將其寫入文件,這樣,如果一個人的名字已經在該文件中,然後它只是把文件中的數據,他們認爲已經存在,但沒有名下。我無法弄清楚如何做到這一點,但這是我最終希望得到的結果。

"James","Project5","15/05/2010","3" 
"Matt","Project1","01/05/2010","5" 
"Ellie","Project5","24/04/2010","1" 
"Project2","10/05/2010","3" 
"Matt","Project3","03/05/2010","4" 

任何幫助將是太棒了!

+1

會如何你曾經讀過這樣的文件嗎?我沒有看到任何可以告訴你的節目的內容:「下一張唱片是短格式的,並延伸了以前的唱片。」 – Bob77 2010-04-27 11:04:15

+0

如果記錄是你所謂的「短格式」,那麼它就是爲自己說話 - 任何只有三個條目的記錄延伸了以前的記錄。 – Etaoin 2010-04-28 04:11:20

回答

2
  1. 在整個文件到內存第一讀並將其存儲爲一個陣列(在讀取它作爲一個長串和SplitvbNewLine)。

  2. 然後遍歷數組並執行更改。

  3. 將數據寫入臨時文件名。

  4. 用臨時文件替換原始文件。 FSO(文件系統對象)有一些易於使用的功能來刪除和移動文件。

+0

@ho不要忘記用逗號分割。創建一個對象可能會更好。 – Gutzofter 2010-04-23 16:14:46

+0

嗯,我在第2步看到逗號分割。但我同意我最終可能會創建一個對象來完成這項工作。 – 2010-04-23 17:03:23

0

你可以使用一個ini文件爲您的架構

[詹姆斯]
PROJECT1 = 01/05/2010,5
項目2 = 24/04/2010,1