delphi if 语句循环语句

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
if语句-------------------------------------------------------------------------------------------------------------------------------------------------
其实delphi中的IF语句和VB中的语句有点相像,都是IF .... THEN...
不过DELPHI中的不同点就是语句的前后需要加个BEGIN,END.这个就相当于JAVA中的{}吧,呵呵。
下边写几个IF语句的例子":
1IF.. THEN
if 1=1 then
begin
//这里写执行语句
end;
 
2IF..ELSE
if 1=1 then
begin
..............
end //记住这里不能加分号。
else
begin
.....................
end; //这里需要加分号
 
3IF...ELSE IF..
if 1=1 then
begin
..............
end //记住这里不能加分号。
else IF 1=2 THEN
begin
.....................
end; //这里需要加分号
 
OK,全部搞定了。
  
  
循环语句-----------------------------------------------------------------------------------------------------------------------------------------
在Delphi中可以使用for to/down to dowhiledorepeatuntil三种方式来实现循环控制。
view source
print?
01  var
02    I: Integer;
03    X: Integer;
04  begin
05    X := 10;
06    for I := 0 to 9 do       { I从0递增变化到9,依次执行10次DoSomething}
07    begin
08      { DoSomething}
09    end;
10   
11    for I := 0 to Pred(X) do { Pred(X)返回X的前一个值,即9}
12    begin
13      { DoSomething}
14    end;
15   
16    for I := 9  downto 0 do  { I从9递减变化到0,依次执行10次DoSomething}
17    begin
18      { DoSomething}
19    end;
20   
21    X := 8;                  { I从9递减到0,循环10次}
22    for I := Succ(X) downto 0 do
23    begin                    { Succ函数返回指定值的后一个}
24      { DoSomething}
25    end;
26   
27    I := 0;
28    while I <= 10 do  { 和for I := 0 to 10 do的功能是一样的}
29    begin
30      ShowMessage(IntToStr(I));
31      Inc(I);         { while的特点就是可以自己控制循环因子}
32    end;
33   
34    I := 0;
35    repeat            { 和while I <= 10 do 功能相同}
36      ShowMessage(IntToStr(I));
37      Inc(I);
      until I = 10;
       
      I := 0;   { Inc以指定的值递增,Dec以指定的值递减}
      Inc(I);   { I = 1}
      Inc(I, 2);{ I = 3}
      Dec(I, 2);{ I = 1}
      Dec(I);   { I = 0}
      ShowMessage(IntToStr(I));<br> end;
Caution
使用for方式要注意,循环变量的步长是固定为1的,不能再循环体中用代码进行修改。
while的特点就是可以自行控制循环变量的变化,灵活性比for更大。
repeat是从while演化过来的。while首先要判断条件是否成立再执行,而repeat是首先执行,再判断条件是否成立。
Note
上面代码中对于I变量名的使用起源于FORTRAN语言,而这也是for循环的习惯用法。
Continue和Break过程
Continue过程,用来强制程序执行到循环底部并进入一个循环,而跳过Continue后面的所有语句。如果位于tryfinally块中则会先执行finally..end块再进入下一个循环。
view source
print?
    var
      I:Integer;
    begin
      for I := 0 to 2 do
      begin
        try
          if I < 1 then
            Continue;
          ShowMessage(IntToStr(I));
        finally
          ShowMessage('finally..end');
        end;
      end;
    end;
运行结果依次如下(图示中0,1,2分别代表循环变量I变化时的显示结果):
0027
Break过程,用来循环正常结束之前终止循环。如果位于tryfinally块中,则finallyend块也会得到执行,例如下面代码:
view source
print?
    var
      I:Integer;
    begin
      for I := 0 to 2 do
      begin
        try
          if I > 1 then
            Break;
          ShowMessage(IntToStr(I));
        finally
          ShowMessage('finally..end');
        end;
      end;
    end;
运行结果依次如下(图示中0,1,2分别代表循环变量I变化时的显示结果):
0028
Continue和Break只能用在forwhilerepeat循环中,如果在循环外部用这两个过程将会产生编译器错误。

  

posted @   星星的学习小志  阅读(1635)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
点击右上角即可分享
微信分享提示