【Delphi 基础知识 6】常用的数据类型
目录
- 1、基本数据类型
- 2、结构化数据类型
- 3、指针类型
- 4、动态数组(Dynamic Array)
- 5、集合类型(TList)
- 6、关联数组(Associative Array)
- 7、类(Class)
- 8、接口(Interface)
- 9、枚举类型(Enum)
- 10、集合类型(Set)
- 11、Procedural(过程类型)
- 12、Variant 类型(Variant)
- 13、Extended 类型
Delphi 支持多种数据类型,以下是一些常见的 Delphi 数据类型及其示例:
1、基本数据类型
-
Integer(整数):
varmyInteger: Integer; beginmyInteger := 42; end; -
Char(字符):
varmyChar: Char; beginmyChar := 'A'; end; -
Boolean(布尔):
varmyBoolean: Boolean; beginmyBoolean := True; end; -
Real(实数):
varmyReal: Real; beginmyReal := 3.14; end; -
String(字符串):
varmyString: String; beginmyString := 'Hello, Delphi!'; end;
2、结构化数据类型
-
Array(数组):
varmyArray: array [0..4] of Integer;beginmyArray[0] := 10;myArray[1] := 20;// ...end; -
Record(记录):
typeTPerson = recordFirstName: String;LastName: String;Age: Integer;end;varperson: TPerson; beginperson.FirstName := 'John';person.LastName := 'Doe';person.Age := 30; end;
3、指针类型
-
Pointer(指针):
varmyPointer: ^Integer;myValue: Integer; beginNew(myPointer); // 分配内存myValue := 42;myPointer^ := myValue;Dispose(myPointer); // 释放内存 end;
4、动态数组(Dynamic Array)
varmyDynamicArray: array of Integer;beginSetLength(myDynamicArray, 5);myDynamicArray[0] := 10;myDynamicArray[1] := 20;// ...end;
5、集合类型(TList)
usesClasses;varmyList: TList<Integer>;
beginmyList := TList<Integer>.Create;myList.Add(10);myList.Add(20);// ...myList.Free; // 释放内存
end;
6、关联数组(Associative Array)
varmyMap: TDictionary<String, Integer>;
beginmyMap := TDictionary<String, Integer>.Create;myMap.Add('One', 1);myMap.Add('Two', 2);// ...myMap.Free; // 释放内存
end;
7、类(Class)
typeTPerson = classprivateFName: String;FAge: Integer;publicconstructor 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);
beginFName := Name;FAge := Age;
end;varperson: TPerson;
beginperson := TPerson.Create('John', 30);// 使用 person 对象person.Free; // 释放对象内存
end;
8、接口(Interface)
typeIPrintable = interfaceprocedure Print;end;TMyClass = class(TInterfacedObject, IPrintable)publicprocedure Print;end;procedure TMyClass.Print;
beginwriteln('Printing from TMyClass');
end;varmyObj: IPrintable;
beginmyObj := TMyClass.Create;myObj.Print;
end;
9、枚举类型(Enum)
typeTDayOfWeek = (Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday);vartoday: TDayOfWeek;
begintoday := Monday;
end;
10、集合类型(Set)
typeTDays = set of TDayOfWeek;varworkingDays: TDays;
beginworkingDays := [Monday, Tuesday, Wednesday, Thursday, Friday];
end;
11、Procedural(过程类型)
typeTProcedure = procedure;varmyProcedure: TProcedure;
beginmyProcedure := @MyFunction;myProcedure;
end;procedure MyFunction;
begin// 实现具体的过程
end;
12、Variant 类型(Variant)
varmyVariant: Variant;
beginmyVariant := 10; // 可以存储不同类型的值myVariant := 'Hello';
end;
13、Extended 类型
varmyExtended: Extended;
beginmyExtended := 3.14159265358979323846;
end;