初识Delphi---Delphi编程语⾔(1)
Delphi的 语⾔是以Object Pascal为基础的。Object Pascal是在传统的Pascal语⾔的基础上发展⽽来的,它在继承了传统的Pascal语⾔语法严谨、效率⾼、数据结构灵活的特点的同时,融⼊了⾯向对象的 思想,从⽽使Object Pascal成为⼀种⾮常理想的⾯向对象的 语⾔。同时,使⽤编译器创建的应⽤程序只⽣成单个可执⾏⽂件(.exe),正是上述的这些优点,使得Object Pascal成为Delphi这种先进开发环境的 语⾔。它的优点主要体现在⼏下⼏点:
· 数据类型丰富。
· 易于阅读。
· ⽀持结构化程序设计,也⽀持⾯向对象程序设计。
· 编译速度快、效率⾼。
· 可以进⾏模式化程序设计,程序的可重⽤性⾼。
要学好Object Pascal语⾔需要从两⽅⾯努⼒:Pascal语⾔及⾯向对象的 思想。我们下⾯会从两个⽅⾯来引导读者体会这种语⾔的美妙所在。
书写规则
在编写⾃⼰的Object Pascal程序时,要注意程序的可读性。Pascal语⾔是英式结构语⾔,在程序中选择合适的缩排、⼤⼩写风格,并在需要时将程序 分⾏,使得程序 能够很容易地被⾃⼰和他⼈读懂。
缩排
缩排是指在每⼀级有两个空格。不要在源 中保留tab字符,因为tab字符会随着不同⽤户的不同设置和不同的资源管理⼯具(打印、⽂档、版本控制等)⽽代表不同的宽度。
不区分⼤⼩写
Delphi是不区分⼤⼩写的语⾔,就是说,avar、aVar、Avar、AVAR在Delphi中代表的都是同⼀个变量,Delphi⽆法区分。基于这个特性, 时我们就不要试图通过⼤⼩写来区分不同的变量。
由于这种不敏感,为了使程序清晰易读,我们就要在 过程中养成良好的命名习惯。
过程的名字应该以⼤写字母开头,名字中的其他单词也应以⼤写字母开头,以加强可读性。下⾯是⼀个格式不合常规的过程名称:thisfunctionwilldosomething;
下⾯是⼀个合适的区分⼤⼩写的名称:
ThisFunctionWillDoSomeThing;
过程的名称应该同它的内容相符,⼀个引发其他⾏为的过程应以动词开头,例如:
ReadDataFromFile;
⼀个⽤于设置输⼊参数的过程应以单词Set作为前缀,例如:
Set Caption;
⼀个⽤来接收某个值的过程应以单词Get作为前缀,例如:
Get Caption: string;
另外,我们也可以通过在各个单词间加⼊下划线达到清晰易读的效果。
注释
给程序及时地加上注释是良好的 习惯。Delphi有两种注释⽅式:
(1)在⼤段的程序上加注“{}”,编辑器会把它们处理成空⽩。Delphi保留了Borland Pascal编辑器的风格,关键字采⽤⿊体字,被注释的部分会变暗,这使得 风格良好,程序易读易写。
(2)也可以利⽤符号“//”在⼀⾏上加⼊注释。
标识符
标识符是Delphi应⽤程序中⼀些量的名称,这些量包括var(变量)、const(常量)、type(类型)、 (过程)、function(函数)、method(⽅法)及其他。Object Pascal在应⽤标识符时,必须⾸先声明它们。Object Pascal是强类型语⾔,要求相互赋值的变量类型必须相同,这样,编译器可以确保赋给变量或 的值是正确的类型,若出现错误,也便于改正。
变量
变量是程序 中代表⼀个内存地址的标识符,⽽此地址的内存内容在程序 执⾏时可以被改变。在使⽤变量前必须对它进⾏声明,即对它进⾏命名,并说明它的类型。在所有变量声明前加上保留字var。变量声明左边是变量的名称,右边则是该变量的类型,中间⽤“:”隔开。
下⾯声明了⼏个变量:
var
name  :string;      //声明name变量为string类型
length  :integer;    //声明length变量为integer类型
常量
常量在声明时就被赋予了⼀个值,在程序执⾏过程中是不可改变的。下⾯的例⼦声明了3个常量:
const
pascal语言难学吗Pi = 3.14159;
Answer = 342;
ProductName = "Delphi";
像变量⼀样,常量也有类型。不同的是,常量假设其类型就是常量声明中它的值的类型。上⾯声明的3个常量的类型分别是实数型、整数型、字符串型。常量⽤“=”表⽰两边的值是相等的。
数据类型
Object Pascal有多个预定义的数据类型,⽤户可以随意声明这些类型的变量。
图1.3表⽰了Delphi中包括的数据类型。
200852635442737.jpg
图1.3  Delphi预定义的数据类型
下⾯针对⼀些重要且常见的数据类型进⾏介绍。
简单类型
简单类型包括序数型和实数型。这些类型的特点就是不可以再进⾏分割。下⾯对常⽤数据类型进⾏介绍。
)整数型(Integer)
整数型是整数的集合,包括多种不同的整数类别。表1.1说明了这些不同的类型。
表1.1  整数型说明
类型表⽰范围字节
ShortInt-128~1278位,有正负符号标志
SmallInt-32 768~32 76716位,有正负符号标志
LongInt -2 147 443 648~2 147
483 647
32位,有正负符号标志
Integer -2 147 443 648~2 147
483 647
32位,有正负符号标志
Int64-2 63~2 63-164位,有正负符号标志
Byte0~2558位,⽆正负符号标志
Word0~65 53516位,⽆正负符号标志
LongWord0~4 294 967 29532位,⽆正负符号标志
Cardinal0~4 294 967 29532位,⽆正负符号标志
字符型(Char)
字符型是ASCII字符的集合,包括2种类型:标准字符和宽字符。
AnsiChar是传统的Pascal语⾔的字符,是标准的⼀字节的ANSI字符;WideChar⽤于保存单个两字节的Unicode字符。Unicode字符集的前256个字符与ANSI字符集相同。⼀般的Char表⽰⼀个AnsiChar字符。
)布尔型(Boolean)
布尔型只包含True或False两个值。
)实数型(Real)
实数型是实数的集合,包括多种不同的类型。表1.2说明各个类型的特点。需要说明的是,Real类型只有在和以前Borland Pascal兼容的情况下才使⽤,否则应使⽤Double或Extended类型。
表1.2  实数型说明
类型范围有效位存储字节
Real48  2.9×10 -39 ~ 1.7×10 3811~126 Single  1.5×10 -45 ~ 3.4×10 387~84 Double  5.0×10 -324 ~ 1.7×10 30815~168 Extended  3.6×10 -4951 ~ 1.1×10 493219~2010 Comp-2 63+1 ~ 2 63-119~208
Currency -922 337 203 685 477.5 808 ~ 922 337
203 685 477.5 807
19~208
Real  5.0×10 -324 ~ 1.7×10 30815~168

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。