声明:
1. type Name = Existing type;
2. type Name = type Existing type;
3. type Name = (EnumValue1 [=value], EnumValue2 [=value] ...);
4. type Name = Expression1..Expression2;
5. type Name = ^Existing type;
6. type Name = array[...] of Existing type;
7. type Name = class ... end;
8. type Name = class of Existing class
9. type Name = dispinterface ... end;
10. type Name = file of Existing type;
11. type Name = function ...;
12. type Name = interface ... end;
13. type Name = object ... end;
14. type Name = procedure ...;
15. type Name = record ... end;
16. type Name = set of Ordinal values
描述:Type关键词是Delphi的基础部分,不像其它语言,它允许创建变量和过程的新类型(种类)。这些新的类型可以被引用,就像它是语言的一部分一样。
比如:Type TCourtCards = (Ace,Jack,Queen,King);
允许定义一个这种“type”的新变量:var Card:TCourtCard; Card:=Queen;
一般都在类型名字的前缀加“T”,这是一种有用的约定。
1.type Name = Existing type
参考一个现有的类型,比如用新的名字来替代string。
2.type Name = type Existing type
这个与上面的效果一样,但是它确保在运行时,这个类型的变量被识别为它的新类型名称,而不是原先已存在的类型名称。
3.type Name = (EnumValue1,EnumValue2…)
定义一个枚举类型,包含了值EnumValue1,EnumValue2等等。它是用户自定义的名字,列举出所有有可能的值。这些值在你的程序中必 须是唯一的,一旦在类型中定义了它,只可通过两种方法引用:指定或引用一个这种类型的变量;和用Ord关键词取得序数作为数字值。见例子。
注:这些枚举元素在定义的时候,它的位置值为0,1,2,等等,除非这个值用“=value”覆写。如:
Type Days = (Monday = 1,Tuesday,Wed…);
这里,Monday位置值被设为1,Tuesday为2,Wednesday 为3,依次类推。
4.Type Name = Expression1..Expression2
这里是一个完整的整数或字符范围,从Expression1表达式到Expression2表达式。表达式1和2可以是计算结结果为整数或字符的公式,或仅是整数或字符常量。如:Type TAlphabet =’A’..’z';通常用于定义字符范围,从大写A到小写z。
5.type Name = ^Existing type
‘^’符号是指向现有类型的指针。它经常用于导航记录Record类型。
6.type Name = array[…] of existing type
一个结构类型,用一个新的类型封装了某类型的数组。
7.type Name = class…end
用于定义一个新类的结构,详见Class关键词。
8.type Name = class of existing class
提供一个meta-class定义,详见Class关键词。
9.type Name = dispinterface … end
一个分派接口(dispatch interface)类型,详见Dispinterface关键词。
10.type Name = file of Existing type
定义一个指向文件的类型,这个文件包含了给定类型的记录。(默认地,文件包含二进制数据)
11.type Name = function …
定义一个函数当作类型,允许这个函数被定义作为参数用于子程序。
12.type Name = interface … end
用于定义接口的结构。详见Interface关键词。
13.type Name = object … end
相当于类定义,已过时淘汰。
14.type Name = procedure …
定义一个过程当作类型,允许这个过程被定义作为参数用于子程序。
15.type Name = record … end
定义记录类型,在给定的名称下封装数据结构。详见Record关键词。
16.type Name = set of Ordinal values
定义有序数的子界。定义了一个整数或字符的范围。详见Set关键词。
{举一些type例子}
Type
TString1 = string; // 1. type Name = Existing type
TString2 = type string; // 2. type Name = type Existing type
TTemp = (Hot, Warm, Cold); // 3. type Name = (Enum1, Enum2 ...)
TExpr = 5*2 .. 6*3; // 4. type Name = Expr1 .. Expr2
// 5. See the Pointer keyword
TArray = array[1..3] of byte; //6. type Name = array[...] of type
// 7. 见TFrom1类定义
// 8. 详见 Class 关键词
// 9. 详见 Dispinterface 关键词
// 10. 详见 File 关键词
// 11. 详见 Function 关键词
// 12. 详见 Interface 关键词
// 13. 淘汰不用了
// 14. 详见 Procedure 关键词
TRecord = record // 15. type Name = record .. end;
header : string;
value : Integer;
end;
TLetters = set of 'A'..'z'; // 16. type Name = set of Ordinals
var
// 用上面的类型定义变量
firstName : TString1;
lastName : TString2;
temperature : TTemp;
expression : TExpr;
myArray : TArray;
myRecord : TRecord;
letters : TLetters;
begin
// 为变量赋值
firstName := 'Neil';
lastName := 'Moffatt';
temperature := Cold;
expression := 10;
myArray[1] := 5;
myRecord.header := 'data file';
letters := ['F'..'Q'];
end;
分享到:
相关推荐
(详细请看:https://blog.csdn.net/dgthm?type=blog) 2,此框架服务端没有使用任何第三方控件,相比其它中间件,使用很多第三方插件,且绑定一些自研控件,此框架使用更放心;也没有使用多少高大上的技术;主要...
delphi2-delphi2010 全支持 dcu 装换 pas -------------------------------------------------------------------------------- Project Dcu2Pas Version 1.3 Purpose Decompile a D2-D7, K1-K3's dcu(dpu) file ...
type items in compliance with the Delphi type: SetEnumType(TypeInfo('TMyDelphiEnumType')); - ADD: Added the functions PathLength and PathLengthPos in the module FlexPath. Also added the parameter ...
Delphi++ seamlessly imports and intergrates ActiveX Controls, COM Type Libraries and includes additionally a new technology which enables the developers to import and utilize Microsoft .NET Framework...
1.本控件改善了老SPComm在Delphi新版本上安装报错的问题。 2.控件详细的安装说明见如下连接: ...
Delphi in a Nutshell starts with the Delphi object model and how to use RTTI (Run Time Type Information) for efficient programming. The rest of the book is the most complete Delphi Pascal language ...
type TJsonDashboard = class(TObject) private FView: TSKPaintBox; FMinValue: Integer; FMaxValue: Integer; FCurValue: Integer; procedure SetMinValue(const Value: Integer); procedure SetMaxValue...
一个C/C++头文件转delphi的小工具,转换一些结构体,常量,的头文件很有用。函数类的转换暂时没有。之前找的比较老,是d7版本的。现在改成Ex版可编译,优化了一下结构和类型常量的对照,不过转换后还是需要稍作修改...
全书共分五篇:第一篇简要介绍了分布式结构及Delphi 6对 它的支持;第二篇讲述了分布式组件的实现,篇中分别讲述了DCOM架构的基元——COM的编程基础,创建DCOM客户端用& 务器应用以及COM十分布式应用的开发;第三篇...
hWnd:对话框父窗口句柄,对话框显示在Delphi窗体内,可使用窗体的Handle属性,否则可用0,使其直接作为桌面窗口的子窗口。 Text:欲显示的信息字符串。 Caption:对话框标题字符串。 Type:对话框类型常量...
能够得知True Type字体详细信息的非可视构件 直接存取硬件设备IO口地址的非可视构件BAIOPORT QuickReport实现自动分行显示的补丁 能够拦截系统内键盘输入信息的Hook构件 能够精简HTML文件的控件 可以处理XML的...
delphi 建立共享文件夹 with NetSource do begin dwType := RESOURCETYPE_ANY; lpLocalName := 'X:'; // 映射到本地的驱动器名称 lpRemoteName := '\\...\wenjian\'; // 共享文件夹目录 lpProvider := ''; ...
能够得知True Type字体详细信息的非可视构件 直接存取硬件设备IO口地址的非可视构件BAIOPORT QuickReport实现自动分行显示的补丁 能够拦截系统内键盘输入信息的Hook构件 能够精简HTML文件的控件 可以处理XML的...
DELPHI动态创建删除FRAME unit Unit2; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls,FM; type TForm2 = class(TForm) Panel1: ...
利用Variant变量用DELPHI操作EXCEL.zip
能够得知True Type字体详细信息的非可视构件 直接存取硬件设备IO口地址的非可视构件BAIOPORT QuickReport实现自动分行显示的补丁 能够拦截系统内键盘输入信息的Hook构件 能够精简HTML文件的控件 可以处理XML的...
能够得知True Type字体详细信息的非可视构件 直接存取硬件设备IO口地址的非可视构件BAIOPORT QuickReport实现自动分行显示的补丁 能够拦截系统内键盘输入信息的Hook构件 能够精简HTML文件的控件 可以处理XML的...
第0章 认识Delphi 0-1 前言 0-2 Delphi简介 0-3 进入Delphi7 0-4 退出Delphi 第1章 常用的窗口工具 1-1 窗体(Form) 1-2 代码编辑器(Code Editor) 1-3 代码浏览器(Code Explorer) 1-4 组件面板...
能够得知True Type字体详细信息的非可视构件 直接存取硬件设备IO口地址的非可视构件BAIOPORT QuickReport实现自动分行显示的补丁 能够拦截系统内键盘输入信息的Hook构件 能够精简HTML文件的控件 可以处理XML的...
DELPHI RTTI 探索 RTTI(Run-Time Type Information) 翻译过来的名称是“运行期类型信息”,也就是说可以在运行期获得数据类型或类(class)的信息。