在以下代码中: if (xinghao=3112) then
begin
maichongcs=3200; 位置1
cishu=343; 位置2
end 位置3
else
begin
if (xinghao=3113) then maichongcs =1600 位置4
else
begin
cuowu = 7117;
return cuowu; 位置5
end 位置6
end;请问以上6个位置处,哪些地方需要加分号,哪些地方不能加分号.
begin
maichongcs=3200; 位置1
cishu=343; 位置2
end 位置3
else
begin
if (xinghao=3113) then maichongcs =1600 位置4
else
begin
cuowu = 7117;
return cuowu; 位置5
end 位置6
end;请问以上6个位置处,哪些地方需要加分号,哪些地方不能加分号.
弄个按钮COPY过去自己看,我服了
begin
maichongcs=3200; 位置1 //必加
cishu=343; 位置2 //可不加
end 位置3 //不加
else
begin
if (xinghao=3113) then maichongcs =1600 位置4 //不加
else
begin
cuowu = 7117;
return cuowu; 位置5 //可不加,这里不对吧,delphi可没有return啊
end 位置6
end;
if (xinghao=3112) then
begin
maichongcs=3200; 位置1 必须加
cishu=343; 位置2 必须加
end 位置3 必须不加
else
begin
if (xinghao=3113) then maichongcs =1600 位置4 必须不加,建议都写成if ... then begin..end这样的
else
begin
cuowu = 7117;
return cuowu; 位置5 必须加
end 位置6 最好加上,如果后面再写代码的话这里会报错
end; if ... then begin
...
end else begin
...
end;
建议if语句都写成这样的格式,代码风格好,易阅读,不容易出现if的嵌套错误
else前面一定不能加 的语法,对于 把一段代码移出或移入if else之间,很不方便(需要人为加或删分号)
把end也当成一个普通的语句好了:
如果它在另一个end前面,可以不加,但最好加。
如果它在else前面一定不能加。
其他必须要加
1. 语句(简单语句和复合语句)后面添加分号
2. procedure、function或复合语句内最后一条简单语句可以省略分号
3. 添加分号不能导致复合语句不完整简单语句:
I := 10;
复合语句:由多个简单语句一起构成,整体作为一个简单语句
例:
if
...
else
...; begin
I := 10;
J := 11;
end;
if (xinghao = 3112) then
begin
maichongcs := 3200; //位置1
cishu := 343; //位置2
end //位置3
else //位置A
begin
if (xinghao = 3113) then
maichongcs := 1600 //位置4
else //位置B
begin
cuowu := 7117;
return cuowu; //位置5
end //位置6
end 位置1、位置2是简单语句,按照规则1,需要添加分号
位置3,按照if ... else ...语句的语法规则(if和else之间不使用分号), if 内容体为复合语句,复合语句结尾不添加分号,按照规则3,不添加
位置4,按照if ... else ...语句的语法规则(if和else之间不使用分号),if内容体味简单语句,语句结尾不添加分号,按照规则3,不添加
位置5是位置B中else内容体中的最后一脚语句,按照规则2,可添可不添加
位置6是位置A中else内容体中的最后一条语句,按照规则2,可添可不添加。
这里有点绕,不过理解简单语句和复合语句再配合Delphi的语法规则,就很容易理解了。
delphi的function中默认定义一个变量result(不需要额外定义),用于做返回值,变量类型为function定义的数据类型。
我也是这样理解的,else前的不能加。我的习惯是除了绝对不能加的,那些可加可不加的都加上。
个人观点,勿板砖:)
begin
maichongcs=3200; 位置1 必须加
cishu=343; 位置2 必须加
end 位置3 不加
else
begin
if (xinghao=3113) then maichongcs =1600 位置4 不加
else
begin
cuowu = 7117;
return cuowu; 位置5 必须加
end 位置6 必须加
end;
http://www.cnblogs.com/egust/archive/2010/08/12/1798356.html
begin
maichongcs=3200; 位置1
cishu=343; 位置2
end 位置3
else
begin
if (xinghao=3113) then maichongcs =1600 位置4
else
begin
cuowu = 7117;
return cuowu; 位置5
end ;位置6
end;PS : 不知道你從哪裡學來的Return,Delphi是沒有Return的,除非是你自己寫的.
begin
...
end else
begin
...
end