Delphi学习第一课
Delphi简介
1.Delphi是Borland公司开发的可视化软件开发环境,1995年问世以来,带来了程序设计中的一场重大变化。
2.Delphi的特点:简单,高效,功能强大,易用性,稳定性等。
3.Delphi的VCL框架是开源的。
Delphi 6.0介绍
主窗体
(红框:菜单栏 黄框:工具栏 绿框:组件板)
窗体设计器
对象观察器
代码编辑器
代码浏览器
Delphi 6.0程序的组成
单元文件
1.标志性语句,它的出现代表某个单元的开始 —— unit;
2.接口部分 —— interface和implementation之间的部分;
3.implementation之后是实现部分;
4.程序体部分 —— begin和end之间的部分;
项目文件
1.标志性语句,它的出现代表某个项目的开始 —— program;
2.说明体部分 —— uses与begin之间的部分,不包括begin语句;
3.程序体部分 —— begin和end之间的部分;
Delphi的基本数据类型
整型
描述存储各种整数数据的类型即为整型,例如:1,3,123,100000等
类型 | 类型说明符 | 字节数 | 取值范围 |
---|---|---|---|
整型 | Integer | 4 | -2 147 483 648 ~ 2 147 483 647 |
序数型 | Cardinal | 4 | 0 ~ 4 294 967 295 |
短整型 | ShortInt | 1 | -128 ~ 127 |
长整型 | LongInt | 4 | -2 147 483 648 ~ 2 147 483 647 |
小整型 | SmallInt | 2 | -32 768 ~ 32 767 |
64位整型 | Int64 | 8 | -263 ~ 263-1 |
字型 | Word | 2 | 0 ~ 65 535 |
长字型 | LongWord | 4 | 0 ~ 4 294 967 295 |
字节型 | Byte | 1 | 0 ~ 255 |
实型
描述存储各种实数数据的类型为实型,例如:1.234,342.12,65.34等
类型 | 类型说明符 | 字节数 | 取值范围 |
---|---|---|---|
单精度实型 | Single | 4 | -3.41038 ~ -1.510-39, 1.510-39 ~ 3.41038 |
双精度实型 | Double | 8 | -1.710306 ~ -5.010-324, 5.010-324 ~ 1.710306 |
扩展型 | Extended | 10 | -1.1104932 ~ -3.610-4951, 3.610-39 ~ 1.1104932 |
货币型 | Currency | 8 | -922 337 203 685 477.580 8 ~ 922 337 203 685 477.580 7 |
实型 | Real | 8 | -1.710306 ~ -5.010-324, 5.010-324 ~ 1.710306 |
字符型
描述存储单个字符数据的类型,例如:‘c’,‘我’ ,'A’等
类型 | 类型说明符 | 字节数 | 取值范围 |
---|---|---|---|
字符型 | Char | 1(2) | 扩展ANSI字符集 |
宽字符型 | WideChar | 2 | UniCode字符集 |
Ansi字符型 | AnsiChar | 1 | 扩展ANSI字符集 |
字符串型
描述存储多个字符数据的类型,例如:‘ABC’,‘你我他’ ,'abc’等
类型 | 类型说明符 | 最大长度 |
---|---|---|
字符串型 | String | 231个字符 |
短字符串型 | ShortString | 255个字符 |
长字符串型 | AnsiString | 231个字符 |
宽字符串型 | CWideString | 230个字符 |
布尔类型
布尔型是描述存储True(真)和False(假)数据的类型
类型 | 类型说明符 | 字节数 | 取值范围 |
---|---|---|---|
布尔型 | Boolean | 1 | 只能为0(False)或1(True) |
长布尔型 | LongBool | 4 | 0(False)或非0(True) |
宽布尔型 | WideBool | 1 | 0(False)或非0(True) |
字节布尔型 | ByteBool | 2 | 0(False)或非0(True) |
Delphi 中的标识符、保留字与指令符
标识符
1、 标识符是一种符号,用来表示常量、变量、类型、过程、函数和对象等语法实体
2、标识符又分标准标识符和自定义标识符
3、系统规定的标识符叫标志标识符,用户或程序员定义的标识符叫自定义标识符
标准标识符
1、标准常量:如Boolean类型数据的取值True和False。
2、标准类型:如之前表格中的类型说明名。
3、标准过程:如put、Reset等。
4、标准函数:如sin(正弦函数)、cos(余弦)等。
5、标准文件:如Input、TextFile等。
标准标识符由于是系统预先定义好的,它与下面将介绍的自定义标识符不同,不需要用户定义,可以直接使用
自定义标识符
1、自定义标识符是用户自己定义的表述各种语法实体的名称。
2、自定义标识符的名称由用户根据自己的意愿而定,但必须遵循如下的命名规则:
(1)由字母、数字和下划线“_”组成。
(2)以字母或下划线开头。
(3)不能与保留字同名。
(4)最好不与标准标识符同名
举例:
_acd(错误的),3(错误的),$qsz1(错误的),and(错误的),_apple(正确的),q(正确的),str_qw(正确的)
保留字
1、保留字类似标准标识符,也是系统预先规定好的、具有特定意义的单词。
2、但有一点不同:保留字一定不能重新定义或作为其他用途。
3、Delphi规定了65个保留字
指令符
1、指令符也是具有特定意义的单词,与保留字类似。
2、但它可以作为用户自定义的标识符,这一点又与标准标识符相同。
3、不过为了防止混淆,最好与保留字一样不作其他用途。指令符有39个。
指令符 | |
---|---|
1 | absolute:它使得你能够创建一个新变量,并且该变量得起始地址与另一个变量相同。 |
2 | abstract:它允许你创建抽象得方法,包括有抽象方法的类称为抽象类。abstract关键字必须与virtual或dynamic关键字同时使用,因为抽象方法必须被覆盖式实现。 |
3 | assembler:用于支持早期的汇编。 |
4 | automated:访问区分符用于描述一个自动类型的成员,它能够使用程序版本向下兼容。 |
5 | cdecl:它规定了从C或C++编写的DLL中调用函数必须遵守的规则。 |
6 | contains:指出了某个包是否包含某个文件。 |
7 | default:用于指出一个属性的默认值。 |
8 | dispid:用在dispinterface接口中,用于指定特定的适配序号。 |
9 | dynamic:用于声明一个动态的方法。可以override |
10 | export |
11 | external:用于引用一个外部的或是OBJ内的方法。 |
12 | far:标记了函数调用协定,指出函数可以被远程调用。 |
13 | forward:关键字用于方法的前置定义。只定义方法声明,然后在程序的后面对方进行实现。用forward前置声明的方法在实现时不需要再输入方法的参数和返回值,直接使用方法名即可。 |
14 | implements:指出了一个属性从接口继承,此时属性被转换成接口对象。 |
15 | index:用于再属性中标识序号,以便用相同的属性方法(get,set)对不同的属性进行操作。 |
16 | message:用于声明消息方法,带有message的方法必须指出接收消息类型,并通过引用将消息传入方法中。 |
17 | name:用于指出方法的别名。 |
18 | near:函数调用协定,指出函数可以被本地调用。 |
19 | nodefault:指出了一个属性不允许有默认值。 |
20 | overload |
21 | override |
22 | package |
23 | pascal:函数调用协定,指出函数在调用时遵循pascal |
24 | private |
25 | protected |
26 | public |
27 | published:用于类内元素的访问区分权限。只在声明在published区分符下的属性才能够称为显式属性。 |
28 | read:用于标识属性中读取所使用的成员或方法。 |
29 | readonly:用于标识一个对象是否只读。 |
30 | register:函数调用协定,指出函数在调用时可以在注册表内留下记录。 |
31 | reintroduce:用于重新发布方法,通常用于继承。如果要覆盖的方法时静态方法,或时需要修改方法参数,必须用reintroduce进行重新发布。 |
32 | requires:指出了编译Package时的必备条件,若不满足,则不允许编译包。 |
33 | resident |
34 | safecall:函数协定,它规定了被COM调用的函数所必须遵守和规则。 |
35 | stdcall |
36 | stored:用于指出一个属性的值是否能被保留,若指定了Ture,则允许对属性值进行赋值撤销的操作。 |
37 | virtaul |
38 | write |
39 | writeonly:关键字用于标识一个对象是否只写。 |