begin
Year := Unit1.Year
...
end;
若在with后有多个对象或记录,则整个语句被看作是一系列嵌套的
with obj1, obj2, ..., objn do statement
等同于
- 34 - 这使with语句既简洁又obj的解释。 with语句,这样
Syntactic elements
with obj1 do
with obj2 do
...
with objn do
statement
这种情况下,语句中的每个变量或方法名先尽可能被解释为objn的成员,然后是objn-1的成员,依此类推。对obj自身的解释也遵循同样的规则,所以举例来说,若objn既是obj1的成员,又是obj2的成员,它被解释为obj2.objn。
If Statements(If语句)
if语句有两种形式:if...then和if...then...else。if...then语句的语法是
if expression then statement
这里,expression返回一个布尔值。若expression是True,则statement被执行,否则它不执行。比如, if J <> 0 then Result := I/J;
if...then...else的语法是
if expression then statement1 else statement2
这里,expression返回一个布尔值。若expression是True,则statement1被执行,否则执行statement2。比如,
if J = 0 then
Exit
else
Result := I/J;
then和else子句每个(只)包含一个语句,但它可以是结构语句。比如,
if J <> 0 then
begin
Result := I/J;
Count := Count + 1;
end
else if Count = Last then
Done := True
else
Exit;
注意,在then子句和else之间不能有分号。你可以在整个if语句的后面放一个分号,把它和下一个语句隔开,但then和else子句除了一个空格或回车外,它不需要其它内容。在if语句中,else后面的分号导致程序错误。
使用嵌套的if语句会产生解析困难,问题的出现是因为有些if语句有else子句,而另外一些则没有,但这两种语句的语法在其它方面是相同的。当嵌套语句中的else子句比if语句少时,就不容易判断哪个else子句和哪个if语句对应了。考虑下面形式的语句
if expression1 then if expression2 then statement1 else statement2;
这出现两种解析方式:
if expression1 then [ if expression2 then statement1 else statement2 ];
if expression1 then [ if expression2 then statement1 ] else statement2;
编译器总是按第一种方式解析它。用真的代码来表示的话,语句
if ... { expression1 } then
- 35 -
Syntactic elements
if ... { expression2 } then
... { statement1 }
else
... { statement2 } ;
等同于
if ... { expression1 } then
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-23665-22.html
落导为你骄傲
他那问题跟阿富汗现在是国际贩毒中心之一一样
海洋公约的缔约国当然可以说12海里是入侵