结构语句由其它语句构成。当顺序执行其它语句,或有条件地、或重复执行其它语句时,使用结构语句。 ? 复合语句或with语句只是简单地执行一系列语句;
? 条件语句,也就是if或case语句,根据指定的标准,最多执行一个分支;
? 循环语句,包括repeat、while和for循环,重复执行一系列语句;
? 一组特殊的语句,包括raise、try...except
生和处理,请参考Exceptions。
Compound Statements(复合语句)
一个复合语句由一系列其它语句(简单或结构语句)构成,它们的执行顺序和书写顺序一致。复合语句包含在关键字begin和end之间,构成它的语句由分号隔开。比如:
begin
Z := X;
X := Y;
Y := Z;
end;
在end之前的最后一个分号是可选的,所以我们可以写作
begin
Z := X;
X := Y;
Y := Z // 这里能省略分号
end;
复合语句实际上用于Object Pascal语法要求有一个单一语句的地方。除了程序、函数和过程的块以外,它们还用于其它结构语句中,比如条件和循环语句。比如:
begin
I := SomeConstant;
while I > 0 do
begin
...
I := I - 1;
end;
end;
在一个包含单一语句的地方,你可以使用复合语句,它就像复合条件中的括号。
增加可读性和消除歧义,你也能使用空复合语句创建一个块,它什么都不做。
begin
end; try...finally结构,用来创建和处理异常。关于异常的产 begin和end
- 33 - 和 有时用来
Syntactic elements
With Statements(With语句)
with语句是一种简写方式,用来引用一个记录的字段,或一个对象的字段、属性和方法。with语句的语法是
with obj do statement
或
with obj1, ..., objn do statement
这里,obj是表示对象或记录的变量引用,statement是任何简单或结构语句。在statement中,不用限定符、而仅使用obj的字段、属性和方法的名称就可以引用它们。
比如,给定声明
type TDate = record
Day: Integer;
Month: Integer;
Year: Integer;
end;
var OrderDate: TDate;
你可以书写下面的with语句
with OrderDate do
if Month = 12 then
begin
Month := 1;
Year := Year + 1;
end
else
Month := Month + 1;
这等同于
if OrderDate.Month = 12 then
begin
OrderDate.Month := 1;
OrderDate.Year := OrderDate.Year + 1;
end
else
OrderDate.Month := OrderDate.Month + 1;
若obj涉及到索引数组或解除引用的指针,这个动作在statement之前执行一次。
高效,也表明在with语句执行过程中,在statement中给一个变量赋值不会影响对
对with语句中的每个变量引用(字段或属性?)或方法名,尽可能把它解释为指定对象或记录的一个成员。若想在with语句中访问具有相同名称的其它变量或方法,你需要使用限定符,就像下面例子一样。with OrderDate do
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-23665-21.html
有才华的人我都喜欢
怕什么
因为妓者和粉仔没有什么区别