Delphi基本语法格式

1.常量:固定值,不可变数。

1) const

    常量名 = 常量值(表达式);

2) resourcestring

    常量名 = 字符串(常量);

 

2.变量

1)定义

 Var 名字1,名字2,…名字n:类型;

2)命名原则(参考)

变量名字 = 类型(缩写) + 作用域(简称) + 确切含义名称

3)三种赋值格式

变量名:= 值;

变量名1: = 变量2;

变量名:= 过程或函数的调用;

 

3.类型常量

1)类型常量是全局变量并不是一个常量,它进行了预初始化值。

2)定义

Const

  名字:类型 = 值;

3)种类

 简单的类型常量

 数组类型常量

 记录类型常量

 集合类型常量

 指针类型常量

 过程类型常量

 

4.数据类型

简单类型(Simple)

 

 

 

有序类型(Ordinal)

 

 

 

整数(Integer)

 

 

字符(Character)

 

 

布尔(Boolean)

 

 

枚举(Enumerated)

 

 

子域(SubRange)

 

实数(Real)

 

结构类型(Structured)

 

 

 

集合(Set)

 

 

数组(Array)

 

 

记录(Record)

 

 

文件(File)

 

 

类(Class)

 

 

类指针(ClassReference)

 

 

界面(Interface)

 

字符串类型(String)

 

 

指针类型(Pointer)

 

 

过程类型(Procedural)

 

 

可变类型(Variant)

 

 

 

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 元素类型

 

6.语句

简单语句

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;

 

For循环

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;

 

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;