wshzw 2008-8-7 12:26
删除文本文件中的某一行
请问:
从已打开的顺序文件中删除某一行(并将此空行也删除,就是将下一行提升一行),该用什么语句或方法?
wshzw 2008-8-9 23:41
[quote]原帖由 [i]wshzw[/i] 于 2008-8-7 12:26 发表 [url=http://bbs.lihuasoft.net/redirect.php?goto=findpost&pid=20865&ptid=9665][img]http://bbs.lihuasoft.net/images/common/back.gif[/img][/url]
请问:
从已打开的顺序文件中删除某一行(并将此空行也删除,就是将下一行提升一行),该用什么语句或方法? [/quote]以附件中的文件,要去掉以“德固赛3”开头的这一行,我现在只能用以下代码: [attach]1598[/attach]
Sub test()
Dim aIni$(), i&, ii&, aTmp$()
Open App.Path & "\Set.ini" For Input As #1
aIni() = Split(StrConv(InputB(LOF(1), 1), vbUnicode), vbLf)
Close #1
Do While i < UBound(aIni)
If Left(aIni(i), 4) <> "德固赛3" Then
ReDim Preserve aTmp(ii)
aTmp(ii) = aIni(i)
ii = ii + 1
End If
i = i + 1
Loop
i = 0
Open App.Path & "\Set.ini" For Output As #1
Do While i < UBound(aTmp) + 1
Print #1, aTmp(i)
i = i + 1
Loop
Close #1
End Sub
这样勉强应付行数不多的小文件,行数很多的文件怎么办?
wshzw 2008-8-10 12:18
[attach]1600[/attach]以附件中的文件,要去掉以“德固赛3”开头的这一行,我现在只能用以下代码:
Sub test()
Dim aIni$(), i&, ii&, aTmp$()
Open App.Path & "\Set.ini" For Input As #1
aIni() = Split(StrConv(InputB(LOF(1), 1), vbUnicode), vbLf)
Close #1
Do While i < UBound(aIni)
If Left(aIni(i), 4) <> "德固赛3" Then
ReDim Preserve aTmp(ii)
aTmp(ii) = aIni(i)
ii = ii + 1
End If
i = i + 1
Loop
i = 0
Open App.Path & "\Set.ini" For Output As #1
Do While i < UBound(aTmp) + 1
Print #1, aTmp(i)
i = i + 1
Loop
Close #1
End Sub
这样勉强应付行数不多的小文件,行数很多的文件怎么办?