如何 表示 数组 中的数组【已解决】
本帖最后由 fenhanxue 于 2017-4-1 22:27 编辑Local $a =
Local $b =
Local $c
$c = $a
$c = $b
Local $d = $a
;以 $a = 2 为例子
;要表示$a = 2
; 1)如果用d来表示,可以这样写,即
MsgBox(0,' $a的值为',$d)
; 2)如何用c来表示?这样写好像是错误的
MsgBox(0,' $a的值为',$c)答案:
需要一个() 即
MsgBox(0,' $a的值为',($c)) 本帖最后由 afan 于 2017-4-1 13:42 编辑
较高版本的Au3支持直接引用表达式的元素,因此可以直接写为 MsgBox(0,' $a的值为',($c))
否则Au3版本不支持则需再转一次
Local $c1 = $c
MsgBox(0,' $a的值为',$c1) 回复 2# afan
也许楼主想 转换成二维数组,至少我看到我就想这么做。 回复 1# fenhanxue
还有一种冷门用法
Local $a =
Local $b =
Local $c
$c = $a
$c = $b
Local $d = $a
MsgBox(0, ' $a的值为', $d)
MsgBox(0, ' $a的值为', ($c)) 回复afan
也许楼主想 转换成二维数组,至少我看到我就想这么做。
heroxianf 发表于 2017-4-1 13:16 http://www.autoitx.com/images/common/back.gif
这跟二维数组是两回事… 回复 5# afan
{:face (197):} 其实是我想这么做,自己还不知道怎么弄 回复afan
其实是我想这么做,自己还不知道怎么弄
heroxianf 发表于 2017-4-1 13:49 http://www.autoitx.com/images/common/back.gif
循环填充#Include <Array.au3>
Local $a = ['a1', 'a2']
Local $b = ['b1', 'b2', 'b3']
Local $c = _2dArr($a, $b)
_ArrayDisplay($c)
Func _2dArr($a, $b)
If Not IsArray($a) Or Not IsArray($b) Then Return SetError(1)
Local $iMax = UBound($a), $c = $a
If UBound($b) > $iMax Then $iMax = UBound($b)
ReDim $c[$iMax], $a[$iMax], $b[$iMax]
For $i = 0 To $iMax - 1
$c[$i] = $a[$i]
$c[$i] = $b[$i]
Next
Return $c
EndFunc ;==>_2dArr 回复 7# afan
谢谢A大下来认真学习 回复 8# heroxianf
二維也行吧舊版的 無法支援這個表示法
但是新版的 可以呀!!
DIM $a
$a="A0"
$a="A1"
$a="B0"
$a="B1"
_ArrayDisplay($a)
DIM $b
$b="Y0"
$b=$a
$b="Z0"
$b="Z1"
_ArrayDisplay($b)
MsgBox(0,0, ($b)) 回复 4# heroxianf
原来加个()就能用c来正确表示了,学到了新技能。。。 回复 9# kk_lee69
是的 新版才可以,不过我用3.3.12可以执行、也是自己那个时候想这么输出 回复 2# afan
我发现用这种表示方法可以显示但是不能赋值啊??
Global $aArray =
$aArray = $aArray
MsgBox(0, "", ($aArray) & @CRLF & ($aArray))
($aArray) = 1
($aArray) = 2
MsgBox(0, "", ($aArray) & @CRLF & ($aArray))
回复afan
我发现用这种表示方法可以显示但是不能赋值啊??
帆船 发表于 2017-4-2 22:51 http://www.autoitx.com/images/common/back.gif
应该是的,只能引用,不能变更 我想把C++代码转成autoit代码
c代码如下:
byte M[] = {0,1};
char* Zfc[] = {"zifuchuan1","zifuchuan2"};
bool = func(M, Zfc);
func函数是dll中的,我想用dllcall调用,怎么把两个字符串传递到func中 回复 13# afan
我想把C++代码转成autoit代码
byte M[] = {0,1};
char* Zfc[] = {"zifuchuan1","zifuchuan2"};
bool = func(M, Zfc);
func函数是dll中的,不能重写。
我想用dllcall调用,怎么把两个字符串传递到func中
页:
[1]