在 Delphi 2009 中, for in 循环都能用在什么地方?
发布时间:2020-12-15 09:59:35 所属栏目:大数据 来源:网络整理
导读:一、遍历 TStrings var List: TStrings; s: string;begin List := TStringList.Create; List.CommaText := 'aaa,bbb,ccc'; for s in List do ShowMessage(s); List.Free;end; 二、遍历数组 var Arr: array[0..2] of Byte; i: Integer; b: Byte;begin for i :
一、遍历 TStrings var List: TStrings; s: string; begin List := TStringList.Create; List.CommaText := 'aaa,bbb,ccc'; for s in List do ShowMessage(s); List.Free; end; 二、遍历数组 var Arr: array[0..2] of Byte; i: Integer; b: Byte; begin for i := Low(Arr) to High(Arr) do Arr[i] := Random(MAXBYTE); for b in Arr do ShowMessage(IntToStr(b)); end; 三、遍历子界 {例1} var sub: 0..9; str: string; begin str := ''; for sub in [Low(sub)..High(sub)] do str := str + IntToStr(sub); ShowMessage(str); {0123456789} end; {例2} type TSub = 'A'..'G'; var sub: TSub; str: string; begin str := ''; for sub in [Low(sub)..High(sub)] do str := str + sub; ShowMessage(str); {ABCDEFG} end; {例3} var sub: Byte; {Byte 应该算是个 0..255 的子界} num: Cardinal; begin num := 0; for sub in [Low(sub)..High(sub)] do Inc(num,sub); ShowMessage(IntToStr(num)); {32640} end; 四、遍历枚举 type TEnum = (Red,Green,Blue); var enum: TEnum; count: Integer; begin count := 0; for enum in [Low(enum)..High(enum)] do Inc(count); ShowMessage(IntToStr(count)); {3} end; 五、遍历集合 type TEnum = (Red,Blue,Yellow); TSet = set of TEnum; var set1: set of TEnum; set2: TSet; elem: Tenum; count: Integer; begin set1 := [Red,Yellow]; count := 0; for elem in set1 do Inc(count); ShowMessage(IntToStr(count)); {2} set2 := [Red..Yellow]; count := 0; for elem in set2 do Inc(count); ShowMessage(IntToStr(count)); {4} end; 六、遍历字符串 var str: string; c: Char; begin str := 'ABCD'; for c in str do ShowMessage(c); end;上面是我能够想到的,还有吗? 帮我想想. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |