Delphi 有类似于 VB 的 for each ... next 语句吗?(100分)

  • 主题发起人 主题发起人 远帆
  • 开始时间 开始时间

远帆

Unregistered / Unconfirmed
GUEST, unregistred user!
如题, for each ...next 的 VB 帮助如下:

针对一个数组或集合中的每个元素,重复执行一组语句。

语法
For Each element In group
[statements]
[Exit For]
[statements]
Next [element]

For...Each...Next 语句的语法具有以下几个部分:

部分 描述
element 必要参数。用来遍历集合或数组中所有元素的变量。对于集合来说,element
可能是一个 Variant 变量、一个通用对象变量或任何特殊对象变量。对于数组而言,
element只能是一个 Variant 变量。
group 必要参数。对象集合或数组的名称(用户定义类型的数组除外)。
statements 可选参数,针对 group 中的每一项执行的一条或多条语句。
 
真的没有吗?
 
可以用很多方法替换的。
 
用for...to...do
和if XXX in [X1,X2,....,Xn] then....
可不可以打造
 
chenlili:可以举几个例子吗?
eyes4:“可不可以打造”是什么意思?
 
“可不可以打造”的意思是我对VB不熟,不能很肯定行不行,
你看看以下例程:
var
i:integer;
a:array[0..2] of integer;
b:array[0..2] of integer;
begin
//对a数组赋值
for i:=0 to 2 do
a:=i;
//对b数组赋值
for i:=0 to 2 do
b:=i+1;

for i:=0 to 2 do //循环,相当于for each...next
begin
//判断b的一个元素是否与a数组中的某个元素有相同值
if b in [a[0]..a[2]] then
memo1.lines.Add(inttostr(b));
end;
end;
 
eyes4:是这样的:
我想试试 agent(office助手)控件。在VB中只需要
Dim animationname As Variant
For Each animationname In chars.AnimationNames
List1.AddItem animationname
Next
就可以得到角色所有的动作名称。可是我不知道如何将这段语句转换为 Delphi 下的。
 
接受答案了.
 
后退
顶部