yykj 发表于 2009-5-22 12:42:45

急求一个数组合并后一些转化的问题

本帖最后由 yykj 于 2009-5-22 17:58 编辑

#include<array.au3>
#include<string.au3>
Global $array
$search = FileFindFirstFile(@ScriptDir & "\*.ini")

If $search = -1 Then
        MsgBox(0, "", "当前路径无匹配文件", 3)
        Quit()
EndIf


$a = 1
While 1
        $file = FileFindNextFile($search)
        If @error Then
                ExitLoop
        EndIf
        If $a = 1 Then
                $array = IniReadSectionNames($file)
        EndIf
        If $a >= 2 Then
                $array1 = IniReadSectionNames($file)
                _ArrayConcatenate($array,$array1)
        EndIf
        $a += 1
WEnd
FileClose($search)
_ArrayDisplay($array)

;################################################当所有的数据读成一个大数组后,开始搜索####################################################
For $i=1 To UBound($array)
        Local $array2
        $array2[$i]=$array[$i]
Next
我把几个数组合并成一个,然后对其展开搜索.本来源码与此有些不同.为简单起见.我就想弄明白为啥后面$array[$i]咋就一直出错咧

yykj 发表于 2009-5-22 12:44:52

前面倒是没啥事了.就是后面我想把合并了以后的$array的每一个字符串给处理一下,然后进行搜索.主要是汉字转拼音的问题得用到$array[$i]...现在简化成这样都已经出错了

yykj 发表于 2009-5-22 12:49:38

把下面的这些复制成几个ini就可以调试了.谢谢...
a.ini
b.ini
c.ini
d.ini

[国家新闻出版]
[区内事件]
[区分cs大小]
[美国BBS]
[凤凰卫视]
[过滤专家]
[美朝核谈]

maxkingmax 发表于 2009-5-22 12:50:56

数组的序号是从0开始的,你的循环是从1开始的而且使用了 UBound() 的原因吧!
尝试
For $i=0 To UBound($array)

For $i=1 To UBound($array)-1

yykj 发表于 2009-5-22 12:56:58

这个倒不是关键.因为要搜索的东西,也没人定死你不许从哪开始

yykj 发表于 2009-5-22 12:57:16

本帖最后由 yykj 于 2009-5-22 17:54 编辑

收回....向四楼歉,没看清楚您的回复.请勿生气,好心终有好报的

pcbar 发表于 2009-5-22 15:37:25

6# yykj [/b

你复制去试一下就知道了.4楼说的这么明白

yykj 发表于 2009-5-22 17:32:43

唉...没想到版主终于忍无可忍了.不好意思.谢谢4楼和7楼...我一直没注意到自己OT了

yykj 发表于 2009-5-22 17:48:38

以前呢用for的时候,一直是这样的
$result=inireadsectionnames("a.ini")

for $i=1 to $result
我以为ubound 和那个$result一样..
页: [1]
查看完整版本: 急求一个数组合并后一些转化的问题