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