我想要这样的简单VB代码

来源:百度知道 编辑:UC知道 时间:2024/09/21 22:56:37
我想把一个一行一行的文本文件。导入到这样的一个软件里。。

当在导入别的文件时。能把相同的文字替换掉。。。留下不一样的。
比如当我把文件1
123
456
789
里面有这三个一行行的字符。导入到软件后。。
当我在导入文件2时
比如2里有
123
456
101
最后能变成
123
456
789
101

Dim myTempStr1 As String, myTempStr2 As String, i As Integer, myTempStr
Open "第一个文件" For Input As #1
myTempStr1 = Input(LOF(1), 1)
Close
Open "第二个文件" For Input As #1
myTempStr2 = Input(LOF(1), 1)
Close
myTempStr = Split(myTempStr2, vbCrLf)
For i = 0 To UBound(myTempStr)
If InStr(1, myTempStr1, myTempStr(i)) = 0 Then myTempStr1 = myTempStr1 & vbCrLf & myTempStr(i)
Next
MsgBox myTempStr1

如果文件不大也不多的话,建议把要生成的目标文件先放在内存里处理,方便遍历,导完了才写到硬盘里
记得VB里有一个Container类,像一个队列一样,不晓得效率怎样,建立一个Container对象target
导入文件,每读取一行得到字符串s,就遍历一下队列,如s在队列中还不存在,就添加进去;反之,则忽略它就行了。
这样队列里的字符串就一直不会重复,最后把整个队列写入到文本里就好了~

--------------------------------------------------

Private Sub Main()
'在E盘根目录下有3个文本,内容分别为:
'
'《1.txt》:
'111
'222
'
'《2.txt》:
'222
'333
'
'《3.txt》: