文档章节

在 Delphi 2009 中, for in 循环都能用在什么地方?

涂孟超
 涂孟超
发布于 2014/09/26 15:33
字数 306
阅读 4
收藏 0

一、遍历 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,Green,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;

 
 
 
 
 

 

 

  

上面是我能够想到的, 还有吗? 帮我想想.

本文转载自:http://www.cnblogs.com/del/archive/2008/11/12/1332011.html

涂孟超
粉丝 12
博文 2011
码字总数 14107
作品 0
深圳
程序员
私信 提问
delphi开发activex控件的心得

delphi开发activex控件 2009-01-12 12:18:01| 分类: delphi | 标签: |举报 |字号大中小 订阅 用Delphi开发OCX的心得 最近在做的一个B/S系统要在客户端读取USB锁的要求,所以就需要写一个O...

vga
2014/02/27
415
0
Delphi 的编译指令(2): 条件语句的更多用法

$IFDEF 等同于 $IF DEFINED(...) : 它们的结束分别是: $ENDIF、$IFEND; 例子中的 VER200 是 Delphi 2009 的标识. begin {$IFDEF VER200} ShowMessage('这是 Delphi 2009'); {$ENDIF} {$IF D......

geek_loser
2015/01/29
42
0
Windows 7 Problem Steps Recorder

在Windows 7 中Problem Steps Recorder 其实就是一个操作捕捉器,将用户在系统中的操作录制下来,生成图文并茂的mht文件。对于IT人事来说的确是个不错的工具,不用在费力的写文章、截屏,只需...

junwong
2012/03/09
126
0
delphi各个版本编译开关值

delphi各个版本编译开关值 {$IFDEF VER80} - Delphi 1 {$IFDEF VER90} - Delphi 2 {$IFDEF VER100} - Delphi 3 {$IFDEF VER120} - Delphi 4 {$IFDEF VER130} - Delphi 5 {$IFDEF VER140} - D......

伽罗kapple
2016/03/01
73
0
delphi - 为 Frame 添加 OnShow 事件响应函数.

更具体的说明可以参看以下两处: http://manztiara.wordpress.com/2009/10/06/delphi-frame-whats-going-on/ http://www.delphifr.com/codes/TFRAME-ONSHOW-ONHIDE51610.aspx 这里只把我实现的......

sailtseng
2012/06/07
340
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring Boot + Mybatis + Ehcache 二级缓存实例

二级缓存是多个SqlSession共享的,其作用域是mapper的同一个namespace,不同的sqlSession两次执行相同namespace下的sql语句且向sql中传递参数也相同即最终执行相同的sql语句,第一次执行完毕...

xiaolyuh
7分钟前
1
0
Spring源码学习(二)哎呦,按菜谱做菜与AbstractAutowireCapableBeanFactory.createBean流程差不多

记得跟老婆谈恋爱时,有一天心血来潮给老婆做饭,按照菜谱一步一步的做,结果差点把厨房烧了!!! 这事至今老婆还记得。 入口 上一篇说了,AbstractBeanFactory.getBean的主流程 ,今天来说下...

温安适
9分钟前
25
0
前端UI攻城狮 你们该抛弃jQuery了

你不再需要jQuery! Web工程师太依赖jQuery了,某种意义上说jQuery已经成了JavaScript的同义词。但是我们真的需要他么?或许我们应该反思一下什么时候才真的需要jQuery。 对我个人而言开始使...

前端老手
11分钟前
1
0
六、Java设计模式之工厂方法

工厂方法定义: 定义一个创建对象的接口,但让实现这个接口的类来决定实例化哪个类,工厂方法让类的实例化推迟到子类中进行 类型:创建型 工厂方法-使用场景: 创建对象需要大量重复的代码 ...

东风破2019
53分钟前
5
0
win服务器管理遇到的一系列问题记录

有些小伙伴在使用iis7远程桌面管理工具的时候总是会遇到一系列的问题,下面就是为大家介绍一下服务器日常管理过程中出现的问题及我的解决办法和心得。希望能帮到大家。   拒绝服务器重新启...

1717197346
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部