1、常量
声明常量不必特定数据类型,但需要赋一个初值。
const
CThousand = 1000;
CPi = 3.14;
CAuthorname = '张三';
如果想采用特定的类型,可在声明中加入类型名。
const
CThousand: Integer = 1000;
【注意】常量的命名约定以C开头。
2、变量
在过程或函数中声明的变量叫局部变量;之外声明的变量叫做全局变量
var
变量名: 类型名;
变量1, 变量2, ..., 变量n: 类型名;
【注意】全局变量声明时可以直接赋值,局部变量不可以。
var
num: Integer = 1;
3、数据类型
3.1 简单数据类型
3.2 实数类型
实数类型也是简单类型,通常使用Extended
3.3 时间类型
TDateTime在delphi里本质上是Double类型的,其中整数位用于表达从1899年12月30日到现在所已经过去的天数,小数部分用于表示当天已经流逝的分数值。例如:
var
t: TDateTime;
s: string;
begin
t := EncodeDate(2009, 5, 22);
s := FormatDateTime('yyyy-m-d',t);
ShowMessage(s); //2009-5-22
end;
3.4 字符串类型
Delphi中的字符串用单引号,字符串一旦创建,就不能更改。当引用计数为0时,会自动释放。
Delphi7/2005/2007:string = AnsiString;有引用计数
Delphi2009之后:string = UnicodeString; 有引用计数
【注意】字符串下标从1开始可以使用s[i]访问字符串s的第几个字符。
3.5 结构类型
结构类型的一个实例可包含多个值。 包括:集合、数组、记录,也包括类、类引用和接口。
(1)集合类型:
type
TIntSet = set of 1..10;
var
a: TIntset;
或:
var
a: set of 1..10;
【注意】集合类型可以进行运算,并(+)、交(*)、差(-)、成员检测(in)。通常用于判断。
(2)数组类型:
var
数组名:array[上标..下标] of 类型;
如:
var
a: array[1..10] of Integer;
b: array[1..5, 1..5] of Char;
把数组声明为全局变量时,可以进行初始化。
eg:
var
MyArray: array[0..2] of Char = ['A', 'B', 'C'];
【注意】也可以定于动态数组,MyArray: array of Integer;然后在通过SetLength(MyArray, 6);为数组分配长度6。
(3)记录类型:
type
TDate = record
Year: Integer;
Month: Byte;
Day: Byte;
end;
var
BirthDay: TDate;
begin
BirthDay.Year := 1997;
BirthDay.Month := 2;
BirthDay.Day := 14;
...
end;
【注意】类似SQL Server中的表。
(4)指针类型:
type 指针类型标识符 = ^数据类型;
var
X, Y: Integer; //X and Y整数类型
P: ^Integer; //P指向整数类型的指针
begin
X := 17; //给X赋值
P := @X; //把x的地址赋给p
Y := P^; //取出p所指向的数值赋给y
End;