C
catcatdogdog
Unregistered / Unconfirmed
GUEST, unregistred user!
const
Array0: Array[0..2] of String = ('aaa', 'bbb', 'ppp');
Array1: Array[0..5] of String = ('qqq', 'eew', 'ddd', 'nnn', 'ete', 'lll');
Array2: Array[0..3] of String = ('aer', 'rty', 'uuu', 'ooo');
......
var
ID: Integer;
i: Integer;
...
case ID of
0:
for i := 0 to Length(Array0) - 1 do
ShowMessage(Array0);
1:
for i := 0 to Length(Array1) - 1 do
ShowMessage(Array1);
2:
for i := 0 to Length(Array2) - 1 do
ShowMessage(Array2);
end;
意思是说,数组常量Array0..ArrayN的名称是和ID对应的,对不同的ID,取不同的数组常量进行相关操作。
有没有一种方法,只用写一个通用的语句,就能实现上述case中的操作,也就是
for i := 0 to Length(Array[red]ID[/red]) - 1 do ...
的效果?
我想过用一个指针数组存储各数组常量地址,如果各数组常量长度相同,倒可以用下面的方法
type
TStrArray = Array[0..2] of String;
const
PArray: Array[0..N] of Pointer
...
for i := 0 to Length(TStrArray(PArray[ID])) - 1 do ...
但现在长度不同,也就不能这样用了。不知有没有其它方法?
Array0: Array[0..2] of String = ('aaa', 'bbb', 'ppp');
Array1: Array[0..5] of String = ('qqq', 'eew', 'ddd', 'nnn', 'ete', 'lll');
Array2: Array[0..3] of String = ('aer', 'rty', 'uuu', 'ooo');
......
var
ID: Integer;
i: Integer;
...
case ID of
0:
for i := 0 to Length(Array0) - 1 do
ShowMessage(Array0);
1:
for i := 0 to Length(Array1) - 1 do
ShowMessage(Array1);
2:
for i := 0 to Length(Array2) - 1 do
ShowMessage(Array2);
end;
意思是说,数组常量Array0..ArrayN的名称是和ID对应的,对不同的ID,取不同的数组常量进行相关操作。
有没有一种方法,只用写一个通用的语句,就能实现上述case中的操作,也就是
for i := 0 to Length(Array[red]ID[/red]) - 1 do ...
的效果?
我想过用一个指针数组存储各数组常量地址,如果各数组常量长度相同,倒可以用下面的方法
type
TStrArray = Array[0..2] of String;
const
PArray: Array[0..N] of Pointer
...
for i := 0 to Length(TStrArray(PArray[ID])) - 1 do ...
但现在长度不同,也就不能这样用了。不知有没有其它方法?