主题:麻烦大虾给指点一下
mahua1130
[专家分:0] 发布于 2008-06-24 22:51:00
请帮我看下,我想编写一个能区别出两个TXT文件内容的程序,但由于技术太低,不知道怎么编写
区别和找出区别的部分,麻烦大虾指点一下,谢谢![em18]
回复列表 (共6个回复)
沙发
一江秋水 [专家分:9680] 发布于 2008-06-25 07:13:00
下面的函数能判断两个文件的内容是否相同,但不能列出区别的部分:
Function CompFile(f1 As String, f2 As String) As Boolean
Dim issame As Boolean
issame = True
Open f1 For Binary As #1
Open f2 For Binary As #2
If LOF(1) <> LOF(2) Then
issame = False
Else
whole& = LOF(1) \ 10000 '取整数 10,000 字节为一个字块
part& = LOF(1) Mod 10000 '剩余字节 at end of file
buffer1$ = String$(10000, 0)
buffer2$ = String$(10000, 0)
start& = 1
For x& = 1 To whole& 'this for-next loop will get 10,000
Get #1, start&, buffer1$ '字块 at a time.
Get #2, start&, buffer2$
If buffer1$ <> buffer2$ Then issame = False: Exit For
start& = start& + 10000
Next
buffer1$ = String$(part&, 0)
buffer2$ = String$(part&, 0)
Get #1, start&, buffer1$ '获取剩余字节 at the end
Get #2, start&, buffer2$ '获取剩余字节 at the end
If buffer1$ <> buffer2$ Then issame = False
End If
Close
CompFile = issame
End Function
板凳
mahua1130 [专家分:0] 发布于 2008-06-26 12:50:00
谢谢!确定文件是否不同我已经做到了,但找出来不同之处这块怎么编呢?
3 楼
snyga [专家分:1480] 发布于 2008-06-26 18:33:00
split 按行分 判断
4 楼
mahua1130 [专家分:0] 发布于 2008-06-26 18:39:00
能详细点吗?
谢谢!
5 楼
一江秋水 [专家分:9680] 发布于 2008-06-27 17:20:00
如果是比较两个文本文件,则很简单:
1.先将两个文本文文件分别读入到两个字符型变量,例如ST1、ST2
2.在For循环中逐个字符对比两个变量,有不同的就在文本框中显示出来
3.如果文本很大,用字符对比法就很慢了,这时可采用字节型数组读入并在For循环中比较。
6 楼
mahua1130 [专家分:0] 发布于 2008-06-28 12:50:00
哦 这下明白了 谢谢
我来回复