Re: [VB6 ] 如何將多項檔案儲存於一資料檔內

看板Visual_Basic作者 (矇面加菲獅)時間19年前 (2006/05/20 10:06), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《winstonlim (wayne)》之銘言: : 請問各位大大 : 如何將兩筆以上的檔案儲存於一個資料夾, : 並判斷對方已經儲存置檔案內, : 將g_savecom儲存的資料放置資料檔內的頂端, : 將f_savecom儲存的資料放置資料檔內的後端. : 但如果先儲存f_savecom時是否能將資料放置後端. : 感恩了 用這不是很好的方法,在 g_savecom,於第一行記錄後端資料的位置, f_savecom 就可以知道資料要放在檔案的哪一個地方了... 每次寫入都要先讀取...(這個方法用來大量存取資料的話,效能會很差) Private Sub g_savecom_Click() Dim i As Integer, i2 As Integer Dim filename As String, fs As Object, file As Object Dim buf As String, bufs As Variant filename = "c:\temp\data\g.txt" If g_adglist.ListCount = 0 Then Exit Sub Set fs = CreateObject("Scripting.FileSystemObject") If fs.FileExists(filename) Then Set file = fs.OpenTextFile(filename, 1) If Not file.AtEndOfStream Then buf = file.ReadAll file.Close If buf = "" Then bufs = Array(0, "") Else bufs = Split(buf, vbCrLf) Else bufs = Array(0, "") End If i2 = Val(bufs(0)) If i2 = 0 Then i2 = 1 If i2 > UBound(bufs) Then i2 = UBound(bufs) bufs(0) = i2 + g_adglist.ListCount + 1 Open filename For Output As #1 For i = 0 To g_adglist.ListCount - 1 If bufs(i2) <> "" Then bufs(i2) = bufs(i2) & vbCrLf bufs(i2) = bufs(i2) & g_adglist.List(i) Next Print #1, Join(bufs, vbCrLf) Close MsgBox "寫入檔案完成", vbInformation End Sub Private Sub f_savecom_Click() Dim i As Integer, i2 As Integer Dim filename As String, fs As Object, file As Object Dim buf As String, bufs As Variant filename = "c:\temp\data\g.txt" Set fs = CreateObject("Scripting.FileSystemObject") If fs.FileExists(filename) Then Set file = fs.OpenTextFile(filename, 1) If Not file.AtEndOfStream Then buf = file.ReadAll file.Close If buf = "" Then bufs = Array(0, "") Else bufs = Split(buf, vbCrLf) Else bufs = Array(0, "") End If i2 = Val(bufs(0)) If i2 = 0 Then i2 = 1 If i2 > UBound(bufs) Then i2 = UBound(bufs) Dim f_file As String Dim f_move As String Dim f_color As String Open filename For Output As #1 f_file = f_labfl.Caption f_move = f_motext.Text f_color = f_col If bufs(i2) <> "" Then bufs(i2) = bufs(i2) & vbCrLf bufs(i2) = bufs(i2) & "f_axis" & vbCrLf bufs(i2) = bufs(i2) & f_file & "," & f_move & "," & f_color Print #1, Join(bufs, vbCrLf) Close MsgBox "寫入檔案完成", vbInformation End Sub -- ▃▅▇▆▄ ▆▂▃ ` 逝去感如何能留住,半點遺留殊不易,██▅▇▄▃ ▇▃▂" . █████████▃i ▁▄▇ 更多悽悽慘慘的遭遇………██▆▃ █▅▆▃ˍ▄* ▂█▄▇▅▂. 我不知道,王~八~蛋~~! ▂▆███ █▄▃ 。fumizuki。Check。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 210.58.156.43

05/20 23:11, , 1F
謝謝版主大大
05/20 23:11, 1F
文章代碼(AID): #14RdcVNn (Visual_Basic)
文章代碼(AID): #14RdcVNn (Visual_Basic)