Delphi基础语法

来源:互联网 发布:山西大学教务网络 编辑:程序博客网 时间:2024/04/30 14:35

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)

 

 

 

类指针(Class Reference)

 

 

 

界面(Interface)

 

 

字符串类型(String)

 

 

 

指针类型(Pointer)

 

 

 

过程类型(Procedural)

 

 

 

可变类型(Variant)

 

 

 

 

5.      用户自定义类型

           子域类型

        Type 名称 = 初值…终值;

           枚举类型

        Type 名称 = (值1,值2,值3…值N);

           数组类型

        Type 名称 = Array[下标定义]of类型名

        Type 名称 = [下标定义1,下标定义2…下标定义N] of元素类型

                或名称 = [下标定义1ofArray [下标定义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;

 转自http://blog.csdn.net/tercel99/article/details/672910