ATHSJF 发表于 2012-11-10 12:03:47

[已解决]请问如何使数组的名字变量化(因为可能存在不知道数量的数组)

本帖最后由 ATHSJF 于 2012-11-10 15:59 编辑

我有一个程序中要用到多个不同的任务每个任务的信息用一个数组来保存
比如 $array1 $array2 $array3
在调用这些数据的时候需要调用所有的写入配置文件( 程序运行前不知道他有多少个 )
(用另一个变量来保存 如$sum)
需要使用循环来读取
代码是这样的
for $n=1 to $sum
IniWriteSection($ini,$arrayn, $arrayn, 1)
next
其中的n不知道如何表示n=1,2,3... $sum   是一个有限的变量有多少数组就到多少
{:face (382):}
au3新手请求大大们帮助 知道的说一下哦应该是一种表达方式我不知道 - -
就比如字符串中包含 " "这个字符串就用' '来包裹 一样的意思

谢谢大家~


刚才再看了一下发现与目标还有一点点差别就是 在于配置文件的关键字不过根据风行者的代码 我稍微改了一下满足了我的目标
再次感谢 风行者#include <Array.au3>
Dim $array1 ;用来保存数组
Dim $array2=
$array1=$array2;将数组放入0号元素
;每定义一个增加一个无素
Dim $array3=
_ArrayAdd($array1,$array3)

;全部写入ini
For $i = 0 To UBound($array1)-1
      Local $tmpArr = $array1[$i]
      For $j = 0 To UBound($tmpArr)-1
                IniWrite("测试.ini","第"&$tmpArr&"个数组","键"&$i&"_"&$j,$tmpArr[$j])
      Next
Next该贴标记已解决

netegg 发表于 2012-11-10 12:20:56

不确定的话做成三维数组,$array[$i][$j][$k]

netegg 发表于 2012-11-10 12:21:03

不确定的话做成三维数组,$array[$i][$j][$k]

风行者 发表于 2012-11-10 12:28:33

不知道是不是这意思
#include <Array.au3>
Dim $array1 ;用来保存数组
Dim $array2=
$array1=$array2;将数组放入0号元素
;每定义一个增加一个无素
Dim $array3=
_ArrayAdd($array1,$array3)

;全部写入ini
For $i = 0 To UBound($array1)-1
        Local $tmpArr = $array1[$i]
        For $j = 0 To UBound($tmpArr)-1
                IniWrite("测试.ini","测试","键"&$i&"_"&$j,$tmpArr[$j])
        Next
Next

netegg 发表于 2012-11-10 12:42:49

回复 4# 风行者
看lz自己写的那段貌似不像,好像是数组名要变,且不确定编号最后是多少

ATHSJF 发表于 2012-11-10 15:40:01

回复 4# 风行者
回复 5# netegg

非常感谢 netegg&风行者
关于 三维数组
IniWriteSection 的帮助文档中写到:
如果数据为一个数组,则必须为一个二维数组,且第二维必须含有两个元素.
所以 不能使用三维数组哦 当然如果有其他的办法 也行哦

   感谢风行者写出的代码 我先仔细看看   理解一下你的意思一会再回复   谢谢你哦~

ATHSJF 发表于 2012-11-10 15:46:57

回复 4# 风行者


谢谢您您的代码是指用一个数组($array1)来储存其他的数组
然后 我的$sum 即是您的$array1的元素个数
非常巧妙地方式我不知道可以用数组来储存数组
谢谢您的帮助 问题解决啦~
{:1_410:}
页: [1]
查看完整版本: [已解决]请问如何使数组的名字变量化(因为可能存在不知道数量的数组)