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循环中,如果在循环外部用这两个过程将会产生编译器错误。