看似简单但很难的问题----分号(;)用法?(5分)

  • 主题发起人 主题发起人 鲁皮皮
  • 开始时间 开始时间

鲁皮皮

Unregistered / Unconfirmed
GUEST, unregistred user!
请看下面的例子:
function NoValue(AnEditBox:TEdit):Boolean;
begin
if AnEditBox.Text='' then
begin
AnEditBox.Color := clRed;
AnEditBox.Text := 'ÇëÊäÈëÕûÊýÖµ';
Result := True;
end
else
begin
AnEditBox.Color := clWindow;
Result := False;
end;
end;
问:else
之前的end为什么不要分号?
分号到底该什么时间加呢?
 
居然有这样的问题,哎。。。
因 为if .... else
....是一条组合语句
所以在else
之前不能出现分句分格!
 
if 的结构
if [] then
表达试 else
表达试1 ; 为一条判断语句
if [] then
begin
end
else
begin
end ; 也表示一条处理语句,
if [] then

begin

end;
else
//这个else
系统不知道哪里来
begin

end;
如果第一个END加 ;则表示两条语句,
系统便不能处理下面 else
语句了,以为找不到对应 IF then
语句,
 
if .... else
....是一条组合语句
 
分号是一代表一条语句的结束呀
If ... then
...else
;
这是一条语句
else
必需要和 if 在一条语句中使用
end.
前一个End 可加 ;
可不用加 ;
加了;
表示有一条空语句
 
语法问题而已,没什么好说的
 
连这都不知道,比我这个刚学习delphi的还要笨。是不是我说话太不客气了。
 
代码:
if...else
...end;
while...do...end;
for...do...end中的end之前都不要分号。
 
谢谢你们的照顾,我会记住的.
 

Similar threads

后退
顶部