VFP 数组

来源:百度知道 编辑:UC知道 时间:2024/05/13 07:48:46
我想在VFP中定义一个三维数组,例如:
DIME d(2,4,6)
但VFP只允许定义一维和二维数组,那么我该怎么做?
若在VFP中定义一个3维数组,必须用强大的宏替换,
如果要定义
f(8 , 12 , 4)
可以这样:
For i = 1 To 8
n = Ltrim(Str(i))
Dimension f&n(12 , 4)
EndFor
如此这般就可以用了,例如:
f3(6 , 2) = 163
以及
i = 3
n = Ltrim(Str(i))
f&n(6 , 2) = 163

对!必须用强大的宏替换。那么从你的补充中可以推导出以下程序了

如:f(8 , 12 , 4)

dime a1(8) &如这里可以定义二维数组,即以下变4维数组
for i=1 to ALEN(a1,1)
for j=1 to ALEN(a1,2)
n = Ltrim(Str(i))+Ltrim(Str(j))
Dimension f&n(12 , 4)
endfor
endfor
如此这般就可以用了,例如:
f3(6 , 2) = 163
以及
i = 3
n = Ltrim(Str(i))
f&n(6 , 2) = 163

4维数组:f(4 , 2 , 12 , 4)

dime a1(4,2)
for i=1 to ALEN(a1,1)
for j=1 to ALEN(a1,2)
n = Ltrim(Str(i))+Ltrim(Str(j))
Dimension f&n(12 , 4)
endfor
endfor
如此这般就可以用了,例如:
f32(6 , 2) = 163
以及
i = 3
j = 2
n = Ltrim(Str(i)) + Ltrim(Str(j))
f&n(6 , 2) = 163