xj206 发表于 2011-4-21 14:24:27

ini文件的异行单词比对 已解决

本帖最后由 xj206 于 2011-4-25 16:44 编辑

用Bcompare这个软件貌似只能同行比对。
现在希望实现的功能是:
两个文本文件(或INI文件),A.INI文件 第一行中有HELLO这个单词;B.INI文件第二行有ABCHELLO这个单词(含有HELLO)。
如何实现比对两个文件中异行是否有相同单词,并另存出一个新的文件?Dim $s ;a循环
Dim $ss ;b循环

$a = IniReadSection('d:\a.ini', "搜索")
$b = IniReadSection('d:\b.ini', "搜索")

For $s= 1 To $a;Loop
        For $ss = 1 To $b

$result = StringCompare(($b[$ss]),($a[$s]))
        If $result > 0 Then
        IniWrite("D:\same.ini", "相同的单词", "key", ($a[$s]))
       
        EndIf
        Next


Next

Exit这样写又什么问题,我试验只能对比出一行a.ini
[搜索]
1=hello ok normal
2=very good
3=how are you
4=fire workb.ini
[搜索]
1=very good
2=hello ok normal
3=how are
4=fire work
5=you thank

xj206 发表于 2011-4-25 11:34:26

{:face (370):}求教

飘云 发表于 2011-4-25 13:26:14

本帖最后由 飘云 于 2011-4-25 13:29 编辑

写入时关键字如果一样,程序会自动覆盖原有的关键字内容,我按照你的思路修改了下


$a = IniReadSection('a.ini', "搜索")
$b = IniReadSection('b.ini', "搜索")
Dim $c=1
For $a_L= 1 To $a;Loop
        For $b_L = 1 To $b
                If StringCompare(($b[$b_L]),($a[$a_L])) > 0 Then
                        IniWrite("same.ini", "相同的单词", "key_"&$c, ($a[$a_L]))
                        $c+=1
                        ExitLoop
                EndIf
        Next
Next

Exit

xj206 发表于 2011-4-25 16:29:24

本帖最后由 xj206 于 2011-4-25 16:40 编辑

忘了KEY的变化,谢谢。
在什么地方改“已解决”? 分类里面找不到!!
页: [1]
查看完整版本: ini文件的异行单词比对 已解决