比如有個1.txt文件
裡面有下面六筆資料
951252634512
632598741256
564645231879
654321312589
987978978987
132132132165
我該如何把第三筆資料刪除而整個文件內容變成下面的五筆?
951252634512
632598741256
654321312589
987978978987
132132132165
我有想法是
1.從第幾筆去改
2.遇到我想要改的 \"564645231879\" 就把他刪除...
2006-05-30 21:57:28 · 1 個解答 · 發問者 O.oa 5 in 電腦與網際網路 ➔ 程式設計
補充一問...
要怎樣知道form2是使用中或開啟中?
通常要用form2.show才能把他給喚醒
那我怎麼知道他已經在使用中?
用form2.enable判斷嗎?
或者我要如何關閉開啟中的form2呢?
2006-05-30 22:08:57 · update #1
為什麼你的IF xxx > xxx THEN xxxx
之後不用end if?
是符合就做thne之後
不符合就做下一行嗎?
所以把then後面加敘述就可以不用end if?
2006-06-01 11:57:36 · update #2
Private Sub Command1_Click() Dim S() As String, N%, F&, I% On Error GoTo Er '發生錯誤跳至Er '輸入欲刪除記錄之行數 Do N = Int(Val(InputBox("請輸入欲刪除記錄之行數", , 3))) If N = 0 Then Exit Sub Loop Until N > 0 N = N - 1 '將C:\1.txt讀入A陣列(用Binary方式,比用Input快) F = FreeFile ReDim A(FileLen("C:\1.txt") - 1) As Byte Open "C:\1.txt" For Binary As #F Get #F, , A Close #F '若最後1個字是換行字元則刪除 Do While A(UBound(A)) = 10 ReDim Preserve A(UBound(A) - 1) Loop '轉成Unicode並以換行字元為記號,分割至S陣列 S = Split(StrConv(A, vbUnicode), vbCrLf) '若欲刪除記錄之行數>總行數就跳至Er If N > UBound(S) Then GoTo Er '除了N行以外,重新寫到C:\1.txt F = FreeFile Open "C:\1.txt" For Output As #F For I = 0 To UBound(S) If I <> N Then Print #F, S(I) Next Close #F MsgBox "刪除完畢!!" Exit Sub Er: MsgBox "刪除失敗!!"End Sub'檢查Form2是否開啟Private Sub Command2_Click() Dim F As Form For Each F In Forms If F.Name = "Form2" Then '表示Form2是開啟 Unload Form2 '關閉Form2 Exit For End If NextEnd Sub
2006-06-01 23:20:38 補充:
If A=1 Then A=2跟If A=1 ThenA=2End If是一樣的
2006-05-31 11:39:31 · answer #1 · answered by W.J.S. 7 · 0⤊ 0⤋