简单语句和复合语句
用begin 和end 将简单语句括起来即组成复合语句,复合语句用法与普通的Pascal 语句相同,见下例:
begin
A := B;
C := A * 2;
end;
赋值语句
在Pascal 语言中赋值语句用冒号-等号操作符“:=”,对使用其他语言的编程人员来说这是一个奇怪的符号。在其他语言中用作赋值符号的“=”在Pascal 中用作关系运算符,用于判断是否相等。
条件语句
条件语句通过条件检测,判断是否执行该条件语句中包含的语句。条件语句可有两种基本形式:if语句和case语句。
If语句
procedure TForm1.Button1Click(Sender: TObject);
var
i,j:Integer;
begin
i:=10;
j:=15;
if i>j then
showmessage('i>j');
end;
</pre><pre name="code" class="delphi">procedure TForm1.Button1Click(Sender: TObject);
var
i,j:Integer;
begin
i:=10;
j:=15;
if i>j then
showmessage('i>j')//(注意此处不要加';'号)
else
showmessage('i<j');
end;
Case语句
如果你的if语句变得非常复杂,有时可以用case语句代替它。case语句包括用来选值的表达式、可能值序列或一个取值范围。这些值应该是常量,并且它们必须唯一,而且应属于有序类型。Case语句最后可以带一个else 语句,当没有一个标签与选择器的值一致时,执行else语句。下面是两个简单的例子:
<span style="font-size:12px;">case Number of
1: Text := 'One';
2: Text := 'Two';
3: Text := 'Three';
end;</span>
<span style="font-size:12px;">
case MyChar of
'+' : Text := 'Plus sign';
'-' : Text := 'Minus sign';
'*', '/': Text := 'Multiplication or division';
'0'..'9': Text := 'Number';
'a'..'z': Text := 'Lowercase character';
'A'..'Z': Text := 'Uppercase character';
else
Text := 'Unknown character';
end;</span>
Delphi语言中的循环
其它编程语言中使用的循环语句,Pascal语言中都有,它们包括 for、 while 和 repeat 语句。如果你用过其他编程语言,你会发现Pascal中的循环语句没什么特别的,因此这里我只作简要的说明。
for循环
procedure TForm1.Button1Click(Sender: TObject); var i,sum:Integer; begin sum:=0; begin for i:=1 to 100 do sum:=i+sum; end; showmessage(IntToStr(<span style="white-space:pre"> </span>sum)); end;
while语句和repeat语句
while-do 循环语句和 repeat-until 语句的不同点在于repeat 循环语句的代码至少要执行一次。从下面的简例很容易理解这一点:while (I <= 100) and (J <= 100) do begin // use I and J to compute something... I := I + 1; J := J + 1; end; repeat // use I and J to compute something... I := I + 1; J := J + 1; until (I > 100) or (J > 100);
从上可见即使 I 或 J 的初始值大于100,repeat-until循环中的代码也仍会执行一次。
With语句
我要讲的最后一种Pascal 语句是With语句,With语句是Pascal编程语言独有的语句,不过最近JavaScript 和Visual Basic也添加了这种语句,它在Delphi程序设计中很有用。
With语句是一种用于简化代码的语句。 如你要访问一个记录类型变量(或一个对象),用With语句就不必每次重复变量的名字。例如对于以下的记录类型代码:
可以用with语句改进后半部分代码,如下:type Date = record Year: Integer; Month: Byte; Day: Byte; end; var BirthDay: Date; begin BirthDay.Year := 1997; BirthDay.Month := 2; BirthDay.Day := 14;
begin with BirthDay do begin Year := 1995; Month := 2; Day := 14; end;
在Delphi程序中,这种方法能用于访问控件和类变量。现在通过with语句访问列表框的条目,我们重写上面循环例子的最后部分:
procedure TForm1.Button3Click(Sender: TObject);
var
i:integer;
begin
with ListBox1.Items do
begin
clear;
Randomize;
i:=0;
while i<100 do
begin
i:=i+1;
add(IntToStr(i));
end;
end;
end;
当你使用控件或类时,with语句通常能简化你的代码,尤其对嵌套域。例如,你要改变窗体画笔的宽度和颜色,你可以写代码如下:
with Form1.Canvas.Pen do
begin
Width := 2;
Color := clRed;
end;