找回密码
 加入
搜索
查看: 2423|回复: 3

[AU3基础] ini文件的异行单词比对 已解决

[复制链接]
发表于 2011-4-21 14:24:27 | 显示全部楼层 |阅读模式
本帖最后由 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[0][0];Loop
        For $ss = 1 To $b[0][0]

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


Next

Exit
这样写又什么问题,我试验只能对比出一行
a.ini
[搜索]
1=hello ok normal
2=very good
3=how are you
4=fire work
b.ini
[搜索]
1=very good
2=hello ok normal
3=how are 
4=fire work
5=you thank
 楼主| 发表于 2011-4-25 11:34:26 | 显示全部楼层
求教
发表于 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[0][0];Loop
        For $b_L = 1 To $b[0][0]
                If StringCompare(($b[$b_L][1]),($a[$a_L][1])) > 0 Then 
                        IniWrite("same.ini", "相同的单词", "key_"&$c, ($a[$a_L][1]))
                        $c+=1
                        ExitLoop
                EndIf
        Next
Next

Exit
 楼主| 发表于 2011-4-25 16:29:24 | 显示全部楼层
本帖最后由 xj206 于 2011-4-25 16:40 编辑

忘了KEY的变化,谢谢。
在什么地方改“已解决”? 分类里面找不到!!
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-12-23 18:37 , Processed in 0.074960 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表