目录
Delphi 支持多种数据类型,以下是一些常见的 Delphi 数据类型及其示例:
1、基本数据类型
-
Integer(整数):
var myInteger: Integer; begin myInteger := 42; end; -
Char(字符):
var myChar: Char; begin myChar := 'A'; end; -
Boolean(布尔):
var myBoolean: Boolean; begin myBoolean := True; end; -
Real(实数):
var myReal: Real; begin myReal := 3.14; end; -
String(字符串):
var myString: String; begin myString := 'Hello, Delphi!'; end;
2、结构化数据类型
-
Array(数组):
var myArray: array [0..4] of Integer; begin myArray[0] := 10; myArray[1] := 20; // ... end; -
Record(记录):
type TPerson = record FirstName: String; LastName: String; Age: Integer; end; var person: TPerson; begin person.FirstName := 'John'; person.LastName := 'Doe'; person.Age := 30; end;
3、指针类型
var
myPointer: ^Integer;
myValue: Integer;
begin
New(myPointer); // 分配内存
myValue := 42;
myPointer^ := myValue;
Dispose(myPointer); // 释放内存
end;
4、动态数组(Dynamic Array)
var
myDynamicArray: array of Integer;
begin
SetLength(myDynamicArray, 5);
myDynamicArray[0] := 10;
myDynamicArray[1] := 20;
// ...
end;
5、集合类型(TList)
uses
Classes;
var
myList: TList<Integer>;
begin
myList := TList<Integer>.Create;
myList.Add(10);
myList.Add(20);
// ...
myList.Free; // 释放内存
end;
6、关联数组(Associative Array)
var
myMap: TDictionary<String, Integer>;
begin
myMap := TDictionary<String, Integer>.Create;
myMap.Add('One', 1);
myMap.Add('Two', 2);
// ...
myMap.Free; // 释放内存
end;
7、类(Class)
type
TPerson = class
private
FName: String;
FAge: Integer;
public
constructor Create(Name: String; Age: Integer);
property Name: String read FName write FName;
property Age: Integer read FAge write FAge;
end;
constructor TPerson.Create(Name: String; Age: Integer);
begin
FName := Name;
FAge := Age;
end;
var
person: TPerson;
begin
person := TPerson.Create('John', 30);
// 使用 person 对象
person.Free; // 释放对象内存
end;
8、接口(Interface)
type
IPrintable = interface
procedure Print;
end;
TMyClass = class(TInterfacedObject, IPrintable)
public
procedure Print;
end;
procedure TMyClass.Print;
begin
writeln('Printing from TMyClass');
end;
var
myObj: IPrintable;
begin
myObj := TMyClass.Create;
myObj.Print;
end;
9、枚举类型(Enum)
type
TDayOfWeek = (Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday);
var
today: TDayOfWeek;
begin
today := Monday;
end;
10、集合类型(Set)
type
TDays = set of TDayOfWeek;
var
workingDays: TDays;
begin
workingDays := [Monday, Tuesday, Wednesday, Thursday, Friday];
end;
11、过程类型(procedure)
type
TProcedure = procedure;
var
myProcedure: TProcedure;
begin
myProcedure := @MyFunction; // 把MyFunction函数的地址赋值给myProcedure
myProcedure; // 调用myProcedure就等于调用MyFunction
end;
procedure MyFunction;
begin
// 实现具体的过程
end;
12、可变类型(Variant)
var
myVariant: Variant;
begin
myVariant := 10; // 可以存储不同类型的值
myVariant := 'Hello';
end;
13、浮点类型(Extended)
var
myExtended: Extended;
begin
myExtended := 3.14159265358979323846;
end;
在 Delphi 中,Extended 是一种浮点数数据类型。具体来说,Extended 是一种高精度的浮点数类型,通常在 Delphi 中使用 10 字节(80 位)来表示,提供了比 Single 和 Double 更高的精度。
在 Delphi 中,浮点数类型主要有以下几种:
- Single: 单精度浮点数,占 4 字节。
- Double: 双精度浮点数,占 8 字节。
- Extended: 扩展精度浮点数,占 10 字节(80 位),提供了更高的精度和范围。
Extended 类型通常用于需要极高精度计算的场合,或者需要对数值精确度要求较高的算法和应用中。在 Delphi 中,Extended 的精度比 Double 更高,但相应地会占用更多的存储空间和计算资源。
945

被折叠的 条评论
为什么被折叠?



