找回密码
 加入
搜索
查看: 4424|回复: 6

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

[复制链接]
发表于 2012-11-10 12:03:47 | 显示全部楼层 |阅读模式
本帖最后由 ATHSJF 于 2012-11-10 15:59 编辑

我有一个程序中要用到多个不同的任务  每个任务的信息用一个数组来保存
比如 $array1 $array2 $array3
在调用这些数据的时候需要调用所有的写入配置文件( 程序运行前不知道他有多少个 )
(用另一个变量来保存 如$sum)
需要使用循环来读取
代码是这样的  
for $n=1 to $sum
IniWriteSection($ini,$arrayn[0][0], $arrayn[0][1], 1)
next
其中的n不知道如何表示  n=1,2,3... $sum   是一个有限的变量  有多少数组就到多少

au3新手  请求大大们帮助 知道的说一下哦  应该是一种表达方式我不知道 - -
就比如字符串中包含 " "  这个字符串就用' '来包裹 一样的意思

谢谢大家~


刚才再看了一下  发现与目标还有一点点差别  就是 在于配置文件的关键字  不过根据风行者的代码 我稍微改了一下  满足了我的目标
再次感谢 风行者
#include <Array.au3>
Dim $array1[1] ;用来保存数组
Dim $array2[4]=[2,21,22,23]
$array1[0]=$array2  ;将数组放入0号元素
;每定义一个增加一个无素
Dim $array3[4]=[3,31,32,33]
_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[0]&"个数组","键"&$i&"_"&$j,$tmpArr[$j])
        Next
Next
该贴标记已解决
发表于 2012-11-10 12:20:56 | 显示全部楼层
不确定的话做成三维数组,$array[$i][$j][$k]
发表于 2012-11-10 12:21:03 | 显示全部楼层
不确定的话做成三维数组,$array[$i][$j][$k]
发表于 2012-11-10 12:28:33 | 显示全部楼层
不知道是不是这意思
#include <Array.au3>
Dim $array1[1] ;用来保存数组
Dim $array2[3]=[3,4,5]
$array1[0]=$array2  ;将数组放入0号元素
;每定义一个增加一个无素
Dim $array3[3]=[6,7,8]
_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
发表于 2012-11-10 12:42:49 | 显示全部楼层
回复 4# 风行者
看lz自己写的那段貌似不像,好像是数组名要变,且不确定编号最后是多少
 楼主| 发表于 2012-11-10 15:40:01 | 显示全部楼层
回复 4# 风行者
回复 5# netegg

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

   感谢风行者写出的代码 我先仔细看看   理解一下你的意思  一会再回复   谢谢你哦~
 楼主| 发表于 2012-11-10 15:46:57 | 显示全部楼层
回复 4# 风行者


谢谢您  您的代码是指用一个数组($array1)来储存其他的数组
然后 我的$sum 即是您的$array1的元素个数
非常巧妙地方式  我不知道可以用数组来储存数组
谢谢您的帮助 问题解决啦~
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-5-24 00:45 , Processed in 0.078747 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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