[荐]Delphi基本语法格式
- 格式:doc
- 大小:75.50 KB
- 文档页数:8
Delphi基本语法格式
1. 常量:固定值,不可变数。
1)const
常量名 = 常量值(表达式);
2)resourcestring
常量名 = 字符串(常量);
2.变量
1)定义
Var 名字1,名字2,…名字n:类型;
2)命名原则(参考)
变量名字 = 类型(缩写) + 作用域(简称) + 确切含义名称
3)三种赋值格式
变量名:= 值;
变量名1: = 变量2;
变量名:= 过程或函数的调用;
3.类型常量
1)类型常量是全局变量并不是一个常量,它进行了预初始化值。
2)定义
Const
名字:类型 = 值;
3)种类
简单的类型常量
数组类型常量
记录类型常量
集合类型常量
指针类型常量
过程类型常量
4.数据类型
5.用户自定义类型
子域类型
Type名称=初值…终值;
枚举类型
Type名称=(值1,值2,值3…值N);
数组类型
Type名称=Array[下标定义]of类型名
Type 名称= [下标定义1,下标定义2…下标定义N] of元素类型
或名称= [下标定义1of…Array [下标定义N] of元素类型集合类型
Type 名称=set of元素类型
指针类型
Type名称= ^结点类型
记录类型
Type名称=Record
域名1:类型;
域名1:类型;
……
域名N:类型;
end;
文件类型
Type名称=file of元素类型
语句
简单语句
X := Y + Z; // assignment
Randomize; // procedure call
复合语句
begin
A := B;
C := A * 2;
end;
end之前的最后一条语句末尾分号不是必需的,你可以写成:
begin
A := B;
C := A * 2
end;
赋值语句
在Pascal 语言中赋值语句用冒号-等号操作符“:=”,
条件语句
If语句
对if-then型语句,仅当条件满足时,语句才执行;
if CheckBox1.Checked then
ShowMessage ('CheckBox1 is checked')
对if-then-else型,if语句在两条语句中选择一条执行
if CheckBox2.Checked then
ShowMessage ('CheckBox2 is checked')
else
ShowMessage ('CheckBox2 is NOT checked');
要注意的是,不能在第一句之后、else 关键词之前加分号,否则编译器将告知语法错误。
实际上,if-then-else 语句是单纯的一
条语句,因此不能在语句中间加分号。
if 语句可以很复杂,句子中的条件部分可以是一系列条件(用and、 or 、 not等布尔操作符联接起来),if语句又可以嵌套另一
个if语句
begin
// compound if statement
if CheckBox1.Checked then
if CheckBox2.Checked then
ShowMessage ('CheckBox1 and 2 are checked')
else
ShowMessage ('Only CheckBox1 is checked')
else
ShowMessage (
'Checkbox1 is not checked, who cares for Checkbox2?')
end;
Case 语句
case语句包括用来选值的表达式、可能值序列或一个取值范围。
这些值应该是常量,并且它们必须唯一,而且应属于有序类型。
Case 语句最后可以带一个else 语句,当没有一个标签与选择器的值一致时,执行else语句。
下面是两个简单的例子:
case Number of
1: Text := 'One';
2: Text := 'Two';
3: Text := 'Three';
end;
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;
Pascal 语言中的循环
其它编程语言中使用的循环语句,Pascal语言中都有,它们包括 for、 while 和 repeat 语句。
如果你用过其他编程语言,你会发
现 Pascal中的循环语句没什么特别的,因此这里我只作简要的说明。
For 循环
Pascal 中的for循环严格地建立在计数器基础上,循环每执行一次,计数器不是增加一个值就是减小一个值。
下面是一个for语句的
简例,用来将前十个数加起来:
var
K, I: Integer;
begin
K := 0;
for I := 1 to 10 do
K := K + I;
同样的 for语句可以用正好相反的计数器来写:
var
K, I: Integer;
begin
K := 0;
for I := 10 downto 1 do
K := K + I;
Pascal 中的for循环语句其灵活性比其他语言小(它不能指定1之外的步长),不过简单也容易理解。
如果需判断的条件比较复杂,
或想自定义计数器,你可以用while语句或 repeat 语句,而不是for循环语句。
注意:for循环计数器不必非是数字,它可以是任何有序类型的值,例如一个字符或一个枚举类型值。
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循环中的代码也仍会执行一次。
注意:两种循环另一个关键的不同点是,repeat-until 循环的条件是反向的条件,只要不满足这个条件,循环就执行;当条件满足
时,循环终止。
这正好与while-do 循环相反,while-do 循环当条件是真值时才执行。
为此,我不得不在上面代码中用反向条件来
获得相同的结果。
注意:用 Break 和 Continue 系统过程可以改变循环执行的标准流程。
Break 中断循环;Continue直接跳至循环测试句,或使计数
器增加一个步长,然后继续循环(除非条件为空或计数器达到最大值)。
还有两个系统过程 Exit 和 Halt,让你立即从函数或过程
中返回,或者终止程序。
With 语句
with BirthDay do
begin
Year := 1995;
Month := 2;
Day := 14; end;。