其实delphi中的IF语句和VB中的语句有点相像,都是IF .... THEN...
不过DELPHI中的不同点就是语句的前后需要加个BEGIN,END.这个就相当于JAVA中的{}吧,呵呵。
下边写几个IF语句的例子":
1、IF.. THEN
2、IF..ELSE
3、IF...ELSE IF..
OK,全部搞定了。
不过DELPHI中的不同点就是语句的前后需要加个BEGIN,END.这个就相当于JAVA中的{}吧,呵呵。
下边写几个IF语句的例子":
1、IF.. THEN
if 1=1 then
begin
//这里写执行语句
end;
begin
//这里写执行语句
end;
2、IF..ELSE
if 1=1 then
begin
..............
end //记住这里不能加分号。
else
begin
.....................
end; //这里需要加分号
begin
..............
end //记住这里不能加分号。
else
begin
.....................
end; //这里需要加分号
3、IF...ELSE IF..
if 1=1 then
begin
..............
end //记住这里不能加分号。
else IF 1=2 THEN
begin
.....................
end; //这里需要加分号
begin
..............
end //记住这里不能加分号。
else IF 1=2 THEN
begin
.....................
end; //这里需要加分号
OK,全部搞定了。
循环语句-----------------------------------------------------------------------------------------------------------------------------------------
在Delphi中可以使用for to/down to do、while…do和repeat…until三种方式来实现循环控制。
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); |
38 | until I = 10 ; |
39 | |
40 | I := 0 ; { Inc以指定的值递增,Dec以指定的值递减} |
41 | Inc(I); { I = 1} |
42 | Inc(I, 2 ); { I = 3} |
43 | Dec(I, 2 ); { I = 1} |
44 | Dec(I); { I = 0} |
45 | ShowMessage(IntToStr(I)); |
46 | end ; |
Caution
使用for方式要注意,循环变量的步长是固定为1的,不能再循环体中用代码进行修改。
while的特点就是可以自行控制循环变量的变化,灵活性比for更大。
repeat是从while演化过来的。while首先要判断条件是否成立再执行,而repeat是首先执行,再判断条件是否成立。
Note
上面代码中对于I变量名的使用起源于FORTRAN语言,而这也是for循环的习惯用法。
Continue和Break过程
Continue过程,用来强制程序执行到循环底部并进入一个循环,而跳过Continue后面的所有语句。如果位于try…finally块中则会先执行finally..end块再进入下一个循环。
01 | var |
02 | I: Integer ; |
03 | begin |
04 | for I := 0 to 2 do |
05 | begin |
06 | try |
07 | if I < 1 then |
08 | Continue; |
09 | ShowMessage(IntToStr(I)); |
10 | finally |
11 | ShowMessage( 'finally..end' ); |
12 | end ; |
13 | end ; |
14 | end ; |
运行结果依次如下(图示中0,1,2分别代表循环变量I变化时的显示结果):
Break过程,用来循环正常结束之前终止循环。如果位于try…finally块中,则finally…end块也会得到执行,例如下面代码:
01 | var |
02 | I: Integer ; |
03 | begin |
04 | for I := 0 to 2 do |
05 | begin |
06 | try |
07 | if I > 1 then |
08 | Break; |
09 | ShowMessage(IntToStr(I)); |
10 | finally |
11 | ShowMessage( 'finally..end' ); |
12 | end ; |
13 | end ; |
14 | end ; |
运行结果依次如下(图示中0,1,2分别代表循环变量I变化时的显示结果):
Continue和Break只能用在for、while和repeat循环中,如果在循环外部用这两个过程将会产生编译器错误。