C++ Builder 参考手册 ➙ System
- System 类/类型
• 基础类
• 基本数据类型
• 字符/字符串数据类型
• 日期/时间类型
• RTTI类型
• 接口类型
• 模块/内存管理
• 其他数据类型 - System 常数
• Variant 的类型 (TVarType TVarData::VType)
• Variant 类型的操作符类型 (TVarOp)
• TVarRec 的类型 (TVarRec::VType)
• TTypeKind 的某些枚举值的别名
• TTextRec::Mode 的值
• 虚函数表 (Virtual Method Table)
• Test8086 的值
• 浮点数异常处理
• 未分类常数 - System 变量
• 处理器相关的全局变量
• 异常处理相关的全局变量
• 处理 Variant 内部使用的函数指针
• 未分类的全局变量 - System 宏
- System 函数
• 资源相关的函数
• 内存管理相关的函数
• 错误及异常处理相关的函数
• 字符串处理函数
• 文件处理函数
• 动态数组相关的函数
• 浮点数处理及数学运算函数
• 未分类的函数
头文件:#include <System.hpp>
命名空间:System
VCL 和 FMX 项目都默认包含了这个头文件,可以直接使用里面的内容。
一. System 类/类型
1.1 基础类
类 | 说明 |
---|---|
TObject | 所有的 VCL 和 FMX 控件的顶级父类 |
TAggregatedObject | 用于几个接口的组合,共用一个引用计数 |
TContainedObject | 用于实现被包含的接口的父类 |
TInterfacedObject | VCL/FMX 里面需要 IInterface 接口的一些类的公共父类 |
TCppAggregatedObject | 实现了 IUnknown 的 TAggregatedObject |
TCppInterfacedObject | 不使用 lambda 表达式实现 Delphi 匿名函数的接口 |
1.2 基本数据类型
类型 | 对应的 C++ 类型 | 说明 |
---|---|---|
Boolean | bool | false, true |
ByteBool | unsigned char | 一个字节的布尔类型 |
WordBool | unsigned short | 两个字节的布尔类型 |
LongBool | int | 四个字节的布尔类型 |
Shortint | signed char | -128 ~ 127 |
ShortInt | signed char | -128 ~ 127 |
Byte | unsigned char | 0 ~ 255 |
Smallint | short | -32768 ~ 32767 |
SmallInt | short | -32768 ~ 32767 |
Word | unsigned short | 0 ~ 65535 |
DWord | unsigned long | 0 ~ 4294967295 |
Integer | int | -2147483648 ~ 2147483647 |
Cardinal | unsigned int | 0 ~ 4294967295 |
LongWord | unsigned long unsigned |
0 ~ 18446744073709551615 (IOS64/Android64) 0 ~ 4294967295 (其他系统) |
Longint | long int |
-9223372036854775808 ~ 9223372036854775807 (IOS64/Android64) -2147483648 ~ 2147483647 (其他系统) |
LongInt | long int |
-9223372036854775808 ~ 9223372036854775807 (IOS64/Android64) -2147483648 ~ 2147483647 (其他系统) |
Int8 | signed char | -128 ~ 127 |
UInt8 | unsigned char | 0 ~ 255 |
Int16 | short | -32768 ~ 32767 |
UInt16 | unsigned short | 0 ~ 65535 |
Int32 | int | -2147483648 ~ 2147483647 |
UInt32 | unsigned int | 0 ~ 4294967295 |
IntPtr | std::intptr_t | 整数,32位系统32位,64位系统64位 |
UIntPtr | std::uintptr_t | 无符号整数,32位系统32位,64位系统64位 |
NativeInt | std::intptr_t | 整数,32位系统32位,64位系统64位 |
NativeUInt | std::uintptr_t | 无符号整数,32位系统32位,64位系统64位 |
Single | float | 单精度浮点数 (32位) |
Double | double | 双精度浮点数 (64位) |
Extended | long double | 长双精度浮点数 (64位/80位) Win32是80位,Win64是64位 (变少了) |
Pointer | void * | 指针 |
PPointer | Pointer * | 指向指针的指针 |
PointerArray | void * | 指针 |
PPointerArray | PointerArray * | PointerArray 指针 |
PSingle | float * | 单精度浮点数指针 |
PDouble | double * | 双精度浮点数指针 |
PExtended | long double * | 长双精度浮点数指针 |
PBoolean | bool * | 布尔指针 |
PWordBool | WordBool * | WordBool 指针 |
PByte | unsigned char * | 字节指针 |
PSmallInt | short * | 十六位整数指针 |
PWord | unsigned short * | Word 指针 |
PInteger | int * | 整数指针 |
IntegerArray | int * | 整数指针 |
PIntegerArray | IntegerArray * | IntegerArray 指针 |
PCardinal | unsigned int * | Cardinal 指针 |
PError | unsigned int * | 用于处理 Variant 出错信息的无符号整数指针 |
PLongBool | LongBool * | LongBool 指针 |
PLongWord | LongWord * | LongWord 指针 |
PLongInt | LongInt * | LongInt 指针 |
PLongint | Longint * | Longint 指针 |
PInt64 | __int64 * | 64位整数指针 |
PUInt64 | unsigned __int64 * | UInt64 指针 |
Int64Array | __int64 * | 64位整数指针 |
PInt64Array | Int64Array * | Int64Array 指针 |
PNativeInt | NativeInt * | NativeInt 指针 |
PNativeUInt | NativeUInt * | NativeUInt 指针 |
PFixedInt | int * | int 指针 |
PFixedUInt | unsigned * | unsigned int 指针 |
1.3 字符/字符串数据类型
类型 | 对应的 C++ 类型 | 说明 |
---|---|---|
AnsiChar | char | 组成 ANSI 编码的1个字节的字符 |
UTF8Char | char | 组成 UTF-8 编码的1个字节的字符 |
WideChar | char16_t wchar_t |
组成 UTF-16 编码的2个字节的字符 Windows 系统里面是 wchar_t 其他系统是 char16_t |
UCS2Char | WideChar | 组成 UTF-16 编码的2个字节的字符 |
UCS4Char | unsigned int | 组成 UTF-32 编码的4个字节的字符 (0 ~ 4294967295) (没有定义成 char32_t,只用作编码转换) |
Char | WideChar AnsiChar |
UNICODE 版本相当于 WideChar ANSI 版本相当于 AnsiChar |
_DCHAR | WideChar AnsiChar |
UNICODE 版本相当于 WideChar ANSI 版本相当于 AnsiChar |
PChar | char16_t * / wchar_t * char * |
UNICODE 版本是 UTF-16 字符指针 ANSI 版本是 ANSI 字符指针 |
PPChar | PChar * | 指向字符指针的指针 |
TPCharArray | PChar | Char 指针 |
PPCharArray | TPCharArray * | TPCharArray 指针 |
PAnsiChar | char * | ANSI 字符指针 |
PPAnsiChar | char * * | ANSI 字符指针的指针 |
PUTF8Char | char * | UTF-8 字符指针 |
PWideChar | char16_t * / wchar_t * | UTF-16 字符指针 |
PPWideChar | WideChar * * | UTF-16 字符指针的指针 |
PUCS2Char | WideChar * | UTF-32 字符指针 |
PUCS4Char | UCS4Char * | UTF-32 字符指针,相当于 unsigned int * (没有定义成 char32_t *,只用作编码转换) |
TUCS4CharArray | UCS4Char * | UCS4Char 指针 |
PUCS4CharArray | TUCS4CharArray * | TUCS4CharArray 指针 |
UCS4String | DynamicArray<UCS4Char> | 32位整数动态数组,用于 UTF-32 编码转换 |
_PPAnsiChar | char ** | (仅 Android 系统) |
Openstring | char* const | 指向字符的常数指针 |
String | UnicodeString | UTF-16 编码的字符串 |
AnsiStringBase | 所有以 char 编码的字符串的顶级父类 | |
AnsiStringT | 参数为代码页的以 char 编码的字符串类模板 | |
AnsiString | 代码页为 0,即本地 ANSI 编码的字符串 | |
RawByteString | 代码页为 65535,即不解析编码的字符串 | |
PRawByteString | RawByteString * | RawByteString 指针 |
UTF8String | 代码页为 65001,即 UTF-8 编码的字符串 | |
PUTF8String | UTF8String * | UTF8String 指针 |
UnicodeString | UTF-16 编码的字符串 | |
WideString | 封装 Windows BSTR 类型的字符串 | |
SmallStringBase | 最多255个字符的字符串类模板顶级父类, 只有一个保存长度的整数和一个字符数组成员 |
|
SmallString | 最多255个字符的字符串类模板, 从 SmallStringBase 继承,实现一些简单的字符串操作 |
|
ShortStringBase | SmallStringBase<255> | 最多 255 个字符的字符串 |
ShortString | SmallString<255> | 最多 255 个字符的字符串 |
PShortString | ShortString * | ShortString 指针 |
PAnsiString | AnsiString * | AnsiString 指针 |
PUnicodeString | UnicodeString * | UnicodeString 指针 |
PString | String * | String 指针 |
PWideString | WideString * | WideString 指针 |
1.4 日期/时间类型
类型 | 对应的 C++ 类型 | 说明 |
---|---|---|
TDateTimeBase | 日期时间类型的父类 | |
TDateTime | 日期时间类型 | |
TDate | TDateTime | 日期类型 |
TTime | TDateTime | 时间类型 |
PDate | double * | 用于表示日期时间的双精度浮点数指针 |
PDateTime | TDateTime * | 日期时间类型指针 |
1.5 RTTI类型
类型 | 对应的 C++ 类型 | 说明 |
---|---|---|
DelphiMetaClass | 用于使用 TMetaClass 定义类型 | |
System__1 | 用于定义 TVisibilityClasses 类型 | |
TCustomAttribute | 用于 RTTI 的属性成员 | |
TClass | TMetaClass * | TMetaClass 指针 |
TInterfacedClass | TMetaClass * | TInterfacedObject 的 RTTI 类信息 |
TMetaClass | 用于定义支持 RTTI 的类型 | |
TVisibilityClasses | 成员的访问权限,用于 RTTI 枚举类的成员 |
1.6 接口类型
类型 | 对应的 C++ 类型 | 说明 |
---|---|---|
__dispinterface | class | 用于接口定义,相当于 class |
__interface | struct | 用于接口定义,相当于 struct |
__safecall | __stdcall | 兼容 Delphi 的 safecall |
_di_IComparable | IComparable 智能接口指针类型 | |
_di_IComparable__1 | IComparable__1 智能接口指针类型 | |
_di_IDispatch | IDispatch 智能接口指针类型 | |
_di_IEnumerable | IEnumerable 智能接口指针类型 | |
_di_IEnumerable__1 | IEnumerable__1 智能接口指针类型 | |
_di_IEnumerator | IEnumerator 智能接口指针 | |
_di_IEnumerator__1 | IEnumerator__1 智能接口指针 | |
_di_IEquatable__1 | IEquatable__1 智能接口指针 | |
_di_IInterface | System::IInterface 智能接口指针类型 | |
_di_IUnknown | IUnknown 智能接口指针类型 | |
DelphiInterface | Delphi 匿名函数 / lambda 表达式接口 | |
IComparable | 用于比较大小的接口类型 | |
IComparable__1 | 用于比较大小的接口类型,有 1 个模板参数 | |
IEnumerable | 用于枚举信息的接口 | |
IEnumerable__1 | 用于枚举信息的接口,有 1 个模板参数 | |
IEnumerator | 继承 IInterface 的子类,用于枚举容器里面的内容,通过容器的 GetEnumerator 方法获取 | |
IEnumerator__1 | 继承 IEnumerator 的模板,通过模板参数指定枚举内容的类型 | |
IEquatable__1 | 用户检测两个对象相等的接口类型 | |
IInterface | 增加了获取智能接口的 IUnknown | |
IInvokable | 支持 RTTI 的接口的父类接口 | |
PInterfaceEntry | TInterfaceEntry * | TInterfaceEntry 指针 |
PInterfaceTable | TInterfaceTable * | TInterfaceTable 指针 |
PUnknown | _di_IInterface * | _di_IInterface 指针 |
PPUnknown | PUnknown * | PUnknown 指针 |
TInterfaceEntry | 用于保存分配接口调用所需的信息 | |
TInterfaceTable | TInterfaceEntry 数组 |
1.7 模块/内存管理
类型 | 对应的 C++ 类型 | 说明 |
---|---|---|
GetPackageInfoTable | PackageInfo __fastcall (*)(void) |
返回 PackageInfo 的无参数的函数指针 |
PackageInfo | PackageInfoTable * | PackageInfoTable 指针 |
PackageInfoTable | 组件包单元初始化和结束时使用的信息类型 | |
PackageUnitEntry | 组件包单元初始化和结束时使用的信息类型 | |
PLibModule | TLibModule 指针 | |
PMemoryManager | TMemoryManager 指针 | |
PMemoryManagerEx | TMemoryManagerEx 指针 | |
PModuleUnloadRec | TModuleUnloadRec * | TModuleUnloadRec 指针 |
PPackageTypeInfo | TPackageTypeInfo * | TPackageTypeInfo 指针 |
PTypeTable | TTypeTable * | TTypeTable 指针 |
PUnitEntryTable | UnitEntryTable 指针,PackageUnitEntry 数组指针 | |
TChunkStatus | 内存块的状态 | |
TEnumModuleFunc | EnumModules 和 EnumResourceModules 的回调函数类型 | |
TEnumModuleFuncLW | EnumModules 和 EnumResourceModules 的回调函数类型 | |
THeapStatus | 全局堆状态 | |
TLibModule | 模块链表节点 | |
TMemoryManager | 内存管理 (过时的,需要用 TMemoryManagerEx 代替) | |
TMemoryManagerEx | 内存管理 | |
TMemoryManagerState | 内存分配状态信息 | |
TMemoryMap | TChunkStatus 数组,内存块状态数组 | |
TMinimumBlockAlignment | 内存块对其方式 (8字节/16字节) | |
TModuleUnloadProc | AddModuleUnloadProc 和 RemoveModuleUnloadProc 的回调函数类型 | |
TModuleUnloadProcLW | AddModuleUnloadProc 和 RemoveModuleUnloadProc 的回调函数类型 | |
TModuleUnloadRec | 模块卸载时执行的函数链表节点 | |
TPackageTypeInfo | 用于 PackageInfoTable 使用的类型 | |
TSmallBlockTypeState | 小块内存分配状态信息 | |
TSmallBlockTypeStates | TSmallBlockTypeState 数组 | |
TTypeTable | TPackageTypeInfo 内部使用的类型 | |
UnitEntryTable | PackageUnitEntry 数组 |
1.8 其他数据类型
类型 | 对应的 C++ 类型 | 说明 |
---|---|---|
AliasT | 用于强类型的定义,不允许默认的类型转换 | |
Comp | 用于按字节解析 double 类型浮点数 | |
CompBase | Comp 类型的父类,只有一个 char[8] 数组数据成员 | |
Currency | 货币型变量,用64位整数精确的保存有4位小数的数值 -922337203685477.5808 ~ 922337203685477.5807 |
|
CurrencyBase | Currency 类型的父类,只有一个 __int64 类型整数成员 | |
DynamicArray | 可变元素个数的数组 | |
file | C++ 兼容 delphi 内置的 file 类型 | |
HResult | HRESULT | 调用接口的返回值,32位整数,相当于 long, 0表示成功,不等于0表示错误编码 |
OleVariant | OLE 兼容的 Variant 类型 | |
PComp | Comp * | Comp 指针 |
PCallDesc | TCallDesc * | TCallDesc 指针,Variant 类型的成员函数调用的类型和参数 |
PCurrency | Currency * | 货币型指针 |
PCVModInfo | TCVModInfo * | Windows 版本编译器内部使用的类型 |
PDispDesc | TDispDesc * | TDispDesc 指针,IDispatch 函数调用的类型和参数 |
PDoubleRec | TDoubleRec * | TDoubleRec 指针 |
PExceptionRecord | TExceptionRecord * | TExceptionRecord 指针,结构化异常处理 (SEH) 保存的异常信息 |
PExtended80Rec | TExtended80Rec * | TExtended80Rec 指针 |
PExtendedRec | PExtended80Rec 指针 或 PDoubleRec 指针 | |
PGUID | TGUID * | 全局唯一标识符 (globally unique identifier) 指针 |
PInitContext | TInitContext * | TInitContext 指针 |
PMethod | TMethod * | TMethod 指针 |
PMonitor | TMonitor * | TMonitor 指针 |
PMonitorSupport | TMonitorSupport * | TMonitor 内部使用的结构指针 |
POleVariant | OleVariant * | OleVariant 指针 |
PPMonitor | PMonitor * | TMonitor 指针的指针 |
PResStringRec | TResStringRec 指针 | |
PSingleRec | TSingleRec * | TSingleRec 指针 |
PTextBuf | TTextBuf * | TTextBuf 指针 |
PVarArray | TVarArray * | TVarArray 指针,用于 TVarData 内部处理数组 |
PVarArrayBound | TVarArrayBound * | TVarArrayBound 指针 |
PVarArrayBoundArray | TVarArrayBoundArray * | TVarArrayBoundArray 指针 |
PVarArrayCoorArray | TVarArrayCoorArray * | TVarArrayCoorArray 指针 |
PVarData | TVarData * | TVarData 指针 |
PVariant | Variant * | Variant 指针 |
PVariantManager | TVariantManager * | TVariantManager 指针 |
PVarRec | TVarRec * | TVarRec 指针 |
PVarRecord | TVarRecord * | TVarRecord 指针,用于处理 VT_RECORD 类型的 Variant 数据 |
Set | 集合类型 | |
SetBase | 集合类型的父类 | |
StaticArray | 固定元素个数的数组 | |
TArray__1 | DynamicArray <T> |
动态数组模板类型 |
TAssertErrorProc | Delphi 的 Assert 回调函数类型 | |
TBoundArray | DynamicArray <NativeInt> |
NativeInt 动态数组 |
TCallDesc | Variant 类型的成员函数调用的类型和参数 | |
TCPUIDRec | 用于保存 CPUID 指令的返回值 | |
TCVModInfo | Windows 版本的编译器内部使用的结构 | |
TDispDesc | IDispatch 函数调用的类型和参数 | |
TDispatchMessage | 消息处理用于获取消息ID | |
TDLLProc | 编译器内部使用的函数指针类型,dll 入口函数的回调函数 | |
TDLLProcEx | 编译器内部使用的函数指针类型,dll 入口函数的回调函数 | |
TDoubleRec | 用于解析 64 位 IEEE 浮点数 | |
TExceptClsProc | 处理异常的类名时使用的回调函数指针类型 | |
TExceptionRecord | 结构化异常处理 (SEH) 保存的异常信息 | |
TExceptObjProc | 处理异常的对象时使用的回调函数指针类型 | |
TExtended80Rec | 用于解析 80 位 IEEE 浮点数 | |
TExtendedRec | TExtended80Rec 或 TDoubleRec | |
TextFile | C++ 兼容 delphi 内置的 text 类型 | |
TFileIOFunc | 文件处理内部使用的函数指针类型 | |
TFileRec | 用于文件处理内部保存文件数据信息 | |
TFloatSpecial | TSingleRec 和 TDoubleRec 等解析出来的浮点数特殊值或状态 | |
TGUID | GUID | 全局唯一标识符 (globally unique identifier) |
TInitContext | 调用组件包和异常处理等内部使用的结构 | |
TLargestVarData | 内部使用的结构体 (在 struct/union 里面占位置) | |
TMethod | 用于解析 __closure 指针 | |
TMonitor | 多个线程访问同一个资源的锁 | |
TMonitorSupport | TMonitor 内部使用的结构 | |
TPtrWrapper | 用于内存管理的指针类型 | |
TRaiseExceptionProc | VCL/FMX 抛出异常的回调函数类型 | |
TRaiseExceptObjProc | 处理异常的对象时使用的回调函数指针类型 | |
TResourceHandle | NativeUInt | 资源句柄 HRSRC |
TResStringRec | 字符串资源 | |
TSafeCallErrorProc | SafeCallException 的回调函数类型 | |
TSingleRec | 用于解析 32 位 IEEE 浮点数 | |
TSystemThreadFuncProc | 系统线程启动时的回调函数类型 | |
TSystemThreadEndProc | 系统线程结束时的回调函数类型 | |
TTextBuf | StaticArray<char, 128> | TTextRec 内部使用的类型 |
TTextIOFunc | 文本处理内部使用的函数指针类型 | |
TTextLineBreakStyle | 文本换行的类型 (\n 或 \r\n) | |
TTextRec | 用于库函数内部处理文本文件 | |
TThreadFunc | BeginThread 启动的线程函数指针类型 | |
TThreadID | unsigned | 线程的标识 |
TTypeKind | 用于表示 Delphi 支持的类型 | |
TVarArray | 用于 TVarData 内部处理数组 | |
TVarArrayBound | 用户 TVarArray 内部储存数组元素起始下标和个数 | |
TVarArrayBoundArray | StaticArray <TVarArrayBound, 1> |
TVarArrayBound 数组 |
TVarArrayCoorArray | StaticArray<int, 1> | 存储元素位置的数组 |
TVarData | Variant 类型的父类,用于储存 Variant 类型的数据结构 | |
TVariantManager | 包含一些 Variant 类型变量处理的函数 | |
TVarOp | int | Variant 类型的操作符类型 |
TVarRec | 用于函数的参数,不同类型的数据组成的数组 | |
TVarRecord | 用于处理 VT_RECORD 类型的 Variant 数据 | |
TVarType | unsigned short | 可变类型 Variant 的类型 |
Variant | 用于 COM (Component Object Model 组件对象模型) 的可变类型 |
二. System 常数
2.1. Variant 的类型 (TVarType TVarData::VType)
常数 | 类型 | 数值 | OLE 对应类型 |
---|---|---|---|
varEmpty | System::Int8 | 0x0 | VT_EMPTY |
varNull | System::Int8 | 0x1 | VT_NULL |
varSmallint | System::Int8 | 0x2 | VT_I2 |
varInteger | System::Int8 | 0x3 | VT_I4 |
varSingle | System::Int8 | 0x4 | VT_R4 |
varDouble | System::Int8 | 0x5 | VT_R8 |
varCurrency | System::Int8 | 0x6 | VT_CY |
varDate | System::Int8 | 0x7 | VT_DATE |
varOleStr | System::Int8 | 0x8 | VT_BSTR |
varDispatch | System::Int8 | 0x9 | VT_DISPATCH |
varError | System::Int8 | 0xa | VT_ERROR |
varBoolean | System::Int8 | 0xb | VT_BOOL |
varVariant | System::Int8 | 0xc | VT_VARIANT |
varUnknown | System::Int8 | 0xd | VT_UNKNOWN |
varShortInt | System::Int8 | 0x10 | VT_I1 |
varByte | System::Int8 | 0x11 | VT_UI1 |
varWord | System::Int8 | 0x12 | VT_UI2 |
varLongWord | System::Int8 | 0x13 | 过时,请用 varUInt32 |
varUInt32 | System::Int8 | 0x13 | VT_UI4 |
varInt64 | System::Int8 | 0x14 | VT_I8 |
varUInt64 | System::Int8 | 0x15 | VT_UI8 |
varRecord | System::Int8 | 0x24 | VT_RECORD |
varStrArg | System::Int8 | 0x48 | VT_CLSID |
varObject | System::Int8 | 0x49 | VT_VERSIONED_STREAM |
varUStrArg | System::Int8 | 0x4a | 没找到 OLE 对应类型 |
varString | System::Word | 0x100 | Delphi 字符串,不是 OLE 兼容类型 |
varAny | System::Word | 0x101 | CORBA any 类型,不是 OLE 兼容类型 |
varUString | System::Word | 0x102 | UNICODE 字符串,不是 OLE 兼容类型 |
varTypeMask | System::Word | 0xfff | VT_TYPEMASK |
varArray | System::Word | 0x2000 | VT_ARRAY |
varByRef | System::Word | 0x4000 | VT_BYREF |
2.2. Variant 类型的操作符类型 (TVarOp)
常数 | 类型 | 数值 | 说明 |
---|---|---|---|
System::Int8 | opAdd | 0x0 | 加 |
System::Int8 | opSubtract | 0x1 | 减 |
System::Int8 | opMultiply | 0x2 | 乘 |
System::Int8 | opDivide | 0x3 | 除 |
System::Int8 | opIntDivide | 0x4 | 整除 |
System::Int8 | opModulus | 0x5 | 余数 |
System::Int8 | opShiftLeft | 0x6 | 左移 |
System::Int8 | opShiftRight | 0x7 | 右移 |
System::Int8 | opAnd | 0x8 | 与 |
System::Int8 | opOr | 0x9 | 或 |
System::Int8 | opXor | 0xa | 异或 |
System::Int8 | opCompare | 0xb | 比较大小 System::Variants::TVarCompareResult |
System::Int8 | opNegate | 0xc | 符号取反 |
System::Int8 | opNot | 0xd | 逻辑取反 |
System::Int8 | opCmpEQ | 0xe | 相等 |
System::Int8 | opCmpNE | 0xf | 不等 |
System::Int8 | opCmpLT | 0x10 | 小于 |
System::Int8 | opCmpLE | 0x11 | 小于等于 |
System::Int8 | opCmpGT | 0x12 | 大于 |
System::Int8 | opCmpGE | 0x13 | 大于等于 |
2.3. TVarRec 的类型 (TVarRec::VType)
常数 | 类型 | 数值 | 说明 |
---|---|---|---|
vtInteger | System::Int8 | 0x0 | |
vtBoolean | System::Int8 | 0x1 | |
vtChar | System::Int8 | 0x2 | |
vtExtended | System::Int8 | 0x3 | |
vtString | System::Int8 | 0x4 | 过时的类型 |
vtPointer | System::Int8 | 0x5 | |
vtPChar | System::Int8 | 0x6 | |
vtObject | System::Int8 | 0x7 | |
vtClass | System::Int8 | 0x8 | |
vtWideChar | System::Int8 | 0x9 | |
vtPWideChar | System::Int8 | 0xa | |
vtAnsiString | System::Int8 | 0xb | |
vtCurrency | System::Int8 | 0xc | |
vtVariant | System::Int8 | 0xd | |
vtInterface | System::Int8 | 0xe | |
vtWideString | System::Int8 | 0xf | |
vtInt64 | System::Int8 | 0x10 | |
vtUnicodeString | System::Int8 | 0x11 |
2.4. TTypeKind 的某些枚举值的别名
常数 | 类型 | 数值 | 说明 |
---|---|---|---|
tkAnsiChar | TTypeKind | tkChar | |
tkWideChar | TTypeKind | tkWChar | |
tkUnicodeString | TTypeKind | tkUString | |
tkAnsiString | TTypeKind | tkLString | |
tkWideString | TTypeKind | tkWString | |
tkShortString | TTypeKind | tkString |
2.5. TTextRec::Mode 的值
常数 | 类型 | 数值 | 说明 |
---|---|---|---|
fmClosed | Word | 0xd7b0 | |
fmInput | Word | 0xd7b1 | |
fmOutput | Word | 0xd7b2 | |
fmInOut | Word | 0xd7b3 |
2.6. 虚函数表 (Virtual Method Table)
常数 | 类型 | 数值 | 说明 |
---|---|---|---|
CPP_ABI_ADJUST | System::Int8 | 0x0/0x18 | 用于在不同编译环境使用不同的偏移量值 |
vmtArcOffset | System::Int8 | 0x0 | 用于在不同编译环境使用不同的偏移量值 |
vmtSelfPtr | Int8/short | -88/-200 | |
vmtIntfTable | Int8/short | -84/-192 | |
vmtAutoTable | Int8/short | -80/-184 | |
vmtInitTable | Int8/short | -76/-176 | |
vmtTypeInfo | Int8/short | -72/-168 | |
vmtFieldTable | Int8/short | -68/-160 | |
vmtMethodTable | Int8/short | -64/-152 | |
vmtDynamicTable | Int8/short | -60/-144 | |
vmtClassName | Int8/short | -56/-136 | |
vmtInstanceSize | System::Int8 | -52/-128 | |
vmtParent | System::Int8 | -48/-120 | |
vmtEquals | System::Int8 | -44/-112 | 过时,在汇编代码里面需要使用 VMTOFFSET |
vmtGetHashCode | System::Int8 | -40/-104 | 过时,在汇编代码里面需要使用 VMTOFFSET |
vmtToString | System::Int8 | -36/-96 | 过时,在汇编代码里面需要使用 VMTOFFSET |
vmtSafeCallException | System::Int8 | -32/-88 | 过时,在汇编代码里面需要使用 VMTOFFSET |
vmtAfterConstruction | System::Int8 | -28/-80 | 过时,在汇编代码里面需要使用 VMTOFFSET |
vmtBeforeDestruction | System::Int8 | -24/-72 | 过时,在汇编代码里面需要使用 VMTOFFSET |
vmtDispatch | System::Int8 | -20/-64 | 过时,在汇编代码里面需要使用 VMTOFFSET |
vmtDefaultHandler | System::Int8 | -16/-56 | 过时,在汇编代码里面需要使用 VMTOFFSET |
vmtNewInstance | System::Int8 | -12/-48 | 过时,在汇编代码里面需要使用 VMTOFFSET |
vmtFreeInstance | System::Int8 | -8 /-40 | 过时,在汇编代码里面需要使用 VMTOFFSET |
vmtDestroy | System::Int8 | -4 /-32 | 过时,在汇编代码里面需要使用 VMTOFFSET |
vmtQueryInterface | System::Int8 | 0x0 | 过时,在汇编代码里面需要使用 VMTOFFSET |
vmtAddRef | System::Int8 | 0x4/0x8 | 过时,在汇编代码里面需要使用 VMTOFFSET |
vmtRelease | System::Int8 | 0x8/0x10 | 过时,在汇编代码里面需要使用 VMTOFFSET |
vmtCreateObject | System::Int8 | 0xc/0x18 | 过时,在汇编代码里面需要使用 VMTOFFSET |
2.7. Test8086 的值
常数 | 类型 | 数值 | 说明 |
---|---|---|---|
CPUi386 | System::Int8 | 0x2 | 测试发现 Windows 系统里面 Test8086 始终等于 2 |
CPUi486 | System::Int8 | 0x3 | Windows 之外其他操作系统可能的值 |
CPUPentium | System::Int8 | 0x4 | Windows 之外其他操作系统可能的值 |
2.8. 浮点数异常处理
常数 | 类型 | 数值 | 说明 |
---|---|---|---|
feeINVALID | System::Int8 | 0x1 | 不合理的运算 (例如 0.0/0.0) |
feeDENORMALOPERAND | System::Int8 | 0x2 | 次正常,接近向下溢出时丢失精度 |
feeDIVBYZERO | System::Int8 | 0x4 | 被零除 (例如 1.0/0.0) |
feeOVERFLOW | System::Int8 | 0x8 | 向上溢出 |
feeUNDERFLOW | System::Int8 | 0x10 | 向下溢出 |
feeINEXACT | System::Int8 | 0x20 | 降低了精度 |
feeALLEXCEPT | System::Int8 | 0x3f | 所有浮点数异常 |
femINVALID | System::Int8/ Byte |
0x1/ 0x80 |
不合理的运算 (例如 0.0/0.0) |
femDENORMALOPERAND | System::Int8/ System::Word |
0x2/ 0x100 |
次正常,接近向下溢出时丢失精度 |
femDIVBYZERO | System::Int8/ System::Word |
0x4/ 0x200 |
被零除 (例如 1.0/0.0) |
femOVERFLOW | System::Int8/ System::Word |
0x8/ 0x400 |
向上溢出 |
femUNDERFLOW | System::Int8/ System::Word |
0x10/ 0x800 |
向下溢出 |
femINEXACT | System::Int8/ System::Word |
0x20/ 0x1000 |
降低了精度 |
femALLEXCEPT | System::Int8/ System::Word |
0x3f/ 0x1f80 |
所有浮点异常 |
ferTONEAREST | System::Int8 | 0x0 | 减少精度位数:最接近的值 |
ferUPWARD | System::Word | 0x800/0x4000 | 减少精度位数:向上取值 |
ferDOWNWARD | System::Word | 0x400/0x2000 | 减少精度位数:向下取值 |
ferTOWARDZERO | System::Word | 0xc00/0x6000 | 减少精度位数:向零的方向取值 |
ferALLROUND | System::Word | 0xc00/0x6000 | 减少精度位数掩码 |
2.9. 未分类常数
常数 | 类型 | 数值 | 说明 |
---|---|---|---|
RTLVersion | double | 运行库版本,例如 35.00 (C++ Builder 11.1), 30.00 (C++ Builder 10.0) | |
RTLVersionC | int | 运行库版本,例如 3500 (C++ Builder 11.1), 3000 (C++ Builder 10.0) | |
False | bool | false | 布尔型常数 false |
True | bool | true | 布尔型常数 true |
MaxInt | int | 2147483647 | int 类型的最大值 |
MaxLongInt | int | 2147483647 | long 类型的最大值 |
hfFieldSize | int | 0x4/0x8 | TMonitor 获取成员地址用的成员大小 |
hfMonitorOffset | System::Int8 | 0x0 | TMonitor 获取成员地址用的成员偏移 |
NumSmallBlockTypes | System::Int8 | 55/46 | TSmallBlockTypeStates 的元素个数 |
sLineBreak | const char * | "\r\n" / "\n" | 换行符,Windows "\r\n" 其他 "\n" |
tfCRLF | System::Int8 | 0x1 | TTextRec::Flags 如果包含这个位就是 \r\n 换行,否则是 \n 换行 |
DefaultMethodRttiVisibility | Set | {vcPublic, vcPublished} | RTTI 默认的可以访问的成员函数权限类型 |
DefaultFieldRttiVisibility | Set | {vcPrivate, vcProtected, vcPublic, vcPublished} | RTTI 默认的可以访问的数据成员权限类型 |
DefaultPropertyRttiVisibility | Set | {vcPublic, vcPublished} | RTTI 默认的可以访问的属性成员权限类型 |
三. System 变量
3.1. 处理器相关的全局变量
变量 | 类型 | 说明 |
---|---|---|
CPUCount | int | CPU 数量 (CPU 核心的线程数) |
CPUIDTable | System::StaticArray <TCPUIDRec, 8> |
保存 CPU 识别信息,系统内部代码优化使用 |
Default8087CW | Word | FPU 默认控制字的值 |
DefaultMXCSR | unsigned | MXCSR 寄存器默认值 |
Test8086 | Byte | CPU 类型 |
Test8087 | Byte | FPU 类型 |
TestFDIV | Int8 | FPU 除法运算是否有缺陷 |
TestSSE | unsigned | CPU 是否支持 SSE (Streaming SIMD Extensions) |
3.2. 异常处理相关的全局变量
变量 | 类型 | 说明 |
---|---|---|
AbstractErrorProc | void __fastcall (*)(void) | 调用了抽象方法 (纯虚函数) 产生异常的回调函数 |
AssertErrorProc | TAssertErrorProc | Delphi 的 Assert 内部调用的回调函数 |
DispCallByIDProc | 接口调用产生异常时调用的回调函数指针 | |
ErrorProc | 运行时错误调用的回调函数指针,默认指向一个把报错转成抛异常的函数 | |
ExceptClsProc | void * | 指向一个处理异常的回调函数,返回异常类 |
ExceptionAcquired | void * | AcquireExceptionObject 内部调用的回调函数 |
ExceptionClass | TClass | 正在处理的异常类 |
ExceptObjProc | void * | 指向一个处理异常的回调函数,返回异常对象 |
ExceptProc | 未处理的异常调用的回调函数指针 | |
RaiseExceptionProc | TRaiseExceptionProc | 指向一个产生异常的 API 函数,可以从汇编语言里面调用 |
RaiseExceptObjProc | void * | 在产生异常时调用的回调函数 TRaiseExceptObjProc |
RTLUnwindProc | void * | 指向 API 函数 RTLUnwind,可以从汇编语言里面调用 |
SafeCallErrorProc | TSafeCallErrorProc | SafeCallException 内部调用的回调函数 |
3.3. 处理 Variant 内部使用的函数指针
变量 | 类型 | 说明 |
---|---|---|
VarClearProc | 处理 Variant 内部使用的函数指针 | |
VarAddRefProc | 处理 Variant 内部使用的函数指针 | |
VarCopyProc | 处理 Variant 内部使用的函数指针 | |
VarToLStrProc | 处理 Variant 内部使用的函数指针 | |
VarToWStrProc | 处理 Variant 内部使用的函数指针 | |
VarToUStrProc | 处理 Variant 内部使用的函数指针 |
3.4. 未分类的全局变量
变量 | 类型 | 说明 |
---|---|---|
AllocMemCount | int | 内存块分配总数 (过时的变量) |
AllocMemSize | int | 内存块分配总字节数 (过时的变量) |
AlternateWriteUnicodeStringProc | 写入文本文件时调用的回调函数 | |
CmdLine | WideChar * | 命令行字符串 |
CmdShow | int | 主窗口创建时的状态 |
DebugHook | Byte | 在 IDE 环境调试程序时如何处理异常 |
DefaultSystemCodePage | int | 默认的 ANSI 代码页 |
DefaultTextLineBreakStyle | TTextLineBreakStyle | 默认的换行符 |
DefaultUnicodeCodePage | int | UnicodeString 的默认代码页 |
DLLShutdownProc | DLLShutdown 内部调用的函数指针 | |
ErrorAddr | void * | 导致运行时错误的地址 |
ErrOutput | TextFile | 错误输出设备 (控制台程序),只写文本文件 |
ExitCode | int | 告诉父进程或操作系统程序结束时的状态 |
ExitProc | void * | 程序退出时调用的回调函数 |
ExitProcessProc | void __fastcall (*)(void) | 程序结束之前最后一个调用的回调函数 |
FileMode | Byte | Delphi 的 Reset 和 Rewrite 使用的打开文件方式 |
HeapAllocFlags | Word | 内存管理如何从操作系统获取内存 |
HPrevInst | unsigned | 应用程序的上一个实例,过时的变量 |
InitProc | void * | 应用程序初始化时,即 TApplication::Initialize 调用的回调函数 |
Input | TextFile | 标准输入设备 (控制台程序),只读文本文件 |
IsConsole | bool | 当前模块是否控制台程序 |
IsLibrary | bool | 当前模块是否 dll |
IsMultiThread | bool | 是否多线程程序 |
JITEnable | Byte | 在什么情况下调用 JIT 调试 (just-in-time debugger) |
LibModuleList | TLibModule * | 记录模块和组件包的链表 |
MainInstance | HINSTANCE | exe 文件的实例句柄 |
MainThreadID | unsigned | 当前模块的主线程的 ID |
ModuleUnloadList | TModuleUnloadRec * | 模块卸载时调用的回调函数的链表 |
NeverSleepOnMMThreadContention | bool | 多个线程同时访问内存管理在切换线程时是否不使用 Sleep |
NoErrMsg | bool | 是否不显示运行时错误提示信息 |
Output | TextFile | 标准输出设备 (控制台程序),只写文本文件 |
RandSeed | int | 产生随机数用的初始化值 |
ReportMemoryLeaksOnShutdown | bool | Delphi 程序在退出时是否显示内存泄漏 |
SystemThreadEndProc | TSystemThreadEndProc | EndThread 在结束线程之前调用这个指针指向的函数 |
SystemThreadFuncProc | TSystemThreadFuncProc | BeginThread 在创建线程之前调用这个指针指向的函数 |
UTF8CompareLocale | unsigned | UTF-8 字符串按照哪个地区的语言比较大小 |
四. System 宏
宏 | 说明 |
---|---|
_D | 适配 UNICODE/ANSI 的字符串常数,相当于 C 语言的 _T 或 _TEXT |
BEGIN_MESSAGE_MAP | 开始处理 Windows 消息,相当于重写 Dispatch 函数 |
END_MESSAGE_MAP | 结束处理 Windows 消息,相当于结束 Dispatch 函数 |
MESSAGE_HANDLER | 处理 Windows 消息,由于与 ATL 冲突,需要用 VCL_MESSAGE_HANDLER 代替 |
VCL_MESSAGE_HANDLER | 处理 Windows 消息 |
五. System 函数
5.1. 资源相关的函数
函数 | 说明 |
---|---|
FindResource | 根据类型和名称在指定模块里面查找资源 |
LoadResource | 加载一个资源 |
LockResource | 获取资源的指针,并没有锁定资源 |
UnlockResource | 已经弃用的函数,没有 (不需要) 解锁资源 |
SizeofResource | 获取资源的字节数 |
FreeResource | 已经弃用的函数,没有 (不需要) 释放资源 |
5.2. 内存管理相关的函数
函数 | 说明 |
---|---|
AllocMem | 分配内存并且内存每个字节都初始化为零 |
AttemptToUseSharedMemoryManager | 尝试使用共享内存管理 |
FreeMemory | 与 Delphi 的 FreeMem 兼容,释放 GetMemory 或 AllocMem 分配的内存 |
GetHeapStatus | 获取堆状态 |
GetMemory | 与 Delphi 的 GetMem 兼容的分配内存函数 |
GetMemoryManager | 获取当前的内存管理 |
GetMemoryManagerState | 获取内存管理状态 |
GetMemoryMap | 获取内存映射表 |
GetMinimumBlockAlignment | 获取最小的内存块对齐方式 |
IsMemoryManagerSet | 是否设置了内存管理 |
ReallocMemory | 与 Delphi 的 ReallocMem 兼容,改变内存分配大小 |
RegisterExpectedMemoryLeak | 注册只分配不需要释放的内存 |
SetMemoryManager | 设置内存管理 |
SetMinimumBlockAlignment | 设置最小的内存块对齐方式 |
ShareMemoryManager | 共享这个模块的内存管理 |
SysAllocMem | 系统内部使用的分配内存并清零函数 |
SysFreeMem | 系统内部使用的释放内存函数 |
SysGetMem | 系统内部使用的分配内存函数 |
SysReallocMem | 系统内部使用的改变内存分配大小 |
SysRegisterExpectedMemoryLeak | 系统内部使用的注册只分配不需要释放的内存 |
SysUnregisterExpectedMemoryLeak | 系统内部使用的注销只分配不需要释放的内存 |
UnregisterExpectedMemoryLeak | 注销只分配不需要释放的内存 |
5.3. 错误及异常处理相关的函数
函数 | 说明 |
---|---|
AcquireExceptionObject | 请求使用异常对象,引用计数 +1,不被自动销毁 |
ExceptAddr | 获取产生异常的地址 |
ExceptObject | 获取产生异常的对象 |
FCheckExcept | 系统内部浮点数异常处理:检测异常 |
FClearExcept | 系统内部浮点数异常处理:清除异常 |
FGetExceptFlag | 系统内部浮点数异常处理:获取异常 |
FGetExceptMask | 系统内部浮点数异常处理:获取浮点数异常掩码 |
FGetRound | 系统内部浮点数异常处理:获取浮点数减少精度的处理方式 |
FRaiseExcept | 系统内部浮点数异常处理:抛出异常 |
FSetExceptFlag | 系统内部浮点数异常处理:设置异常 |
FSetExceptMask | 系统内部浮点数异常处理:设置浮点数异常掩码 |
FSetRound | 系统内部浮点数异常处理:设置浮点数减少精度的处理方式 |
Get8087CW | 获取 FPU 控制字 |
GetMXCSR | 获取 MXCSR 寄存器 |
RaiseList | 系统内部使用的函数,如果要使用异常对象可以使用 AcquireExceptionObject |
ReleaseExceptionObject | 请求释放异常对象,引用计数 -1,当引用计数等于 0 时异常对象将自动销毁 |
Reset8087CW | 复位 FPU 控制字 |
ResetMXCSR | 复位 MXCSR 寄存器 |
Set8087CW | 设置 FPU 控制字 |
SetLastError | 修改由 GetLastError 获取的错误编码 |
SetMXCSR | 设置 MXCSR 寄存器 |
SetMXCSRExceptionFlag | 设置 MXCSR 寄存器的异常标志 |
SetRaiseList | 系统内部使用的函数,如果要使用异常对象可以使用 AcquireExceptionObject |
5.4. 字符串处理函数
函数 | 说明 |
---|---|
AnsiToUtf8 | 字符串 (UnicodeString) 转 UTF-8 |
IsICUAvailable | 获取是否使用了 ICU (international components for unicode) |
LoadResString | 从资源里面加载字符串 |
LocaleCharsFromUnicode | UTF-16 字符串转为指定代码页的 ANSI 编码字符串 |
Move | 复制内存里面的数据 |
MoveChars | 复制 UTF-16 字符数据 |
OleStrToString | COM (Component Object Model) 字符串转字符串 |
OleStrToStrVar | COM (Component Object Model) 字符串转字符串 |
Pos | 在一个字符串里面寻找另一个字符串出现的位置 |
PUCS4Chars | UCS4String 转 UCS4Char 字符指针 |
SetAnsiString | 字符指针按照指定的代码页转 ANSI 字符串 |
SetCodePage | 给 RawByteString 指定代码页 |
SetMultiByteConversionCodePage | 指定默认转为 UNICODE 的 ANSI 编码的代码页 |
SetUTF8CompareLocale | 设置 UTF-8 字符串比较使用的地区和语言 |
StringCodePage | 获取字符串的代码页 |
StringElementSize | 获取字符串编码单元的字节数 |
StringOfChar | 生成指定个数的某个字符的字符串,例如 "AAAAAAAAAA" |
StringRefCount | 获取字符串的引用计数 |
StringToOleStr | 字符串转 COM (Component Object Model) 字符串 |
StringToWideChar | 字符串转字符指针 |
UCS4StringToUnicodeString | UTF-32 转 UTF-16 |
UCS4StringToWideString | UTF-32 字符串转 WideString (UTF-16) |
UnicodeFromLocaleChars | 指定代码页的 ANSI 编码字符串转为 UTF-16 字符串 |
UnicodeStringToUCS4String | UTF-16 转 UTF-32 |
UnicodeToUtf8 | UTF-16 转 UTF-8 |
UniqueString | 如果字符串与其他字符串共用内存,分配内存并复制内容,引用计数置为1,与其他字符串脱离引用关系 |
UpCase | 字符转大写 (只处理英文字母) |
UTF8Decode | 过时 (UTF-8 转 UTF-16 编码的 WideString),请使用 UTF8String |
UTF8Encode | UTF-16 转 UTF-8 编码的 RawByteString |
UTF8EncodeToShortString | UTF-16 转 UTF-8 编码的 ShortString |
Utf8ToAnsi | UTF-8 转字符串 (UnicodeString) |
UTF8ToString | UTF-8 转 UnicodeString (UTF-16) |
Utf8ToUnicode | UTF-8 转 UTF-16 |
UTF8ToUnicodeString | UTF-8 转 UnicodeString (UTF-16) |
UTF8ToWideString | 过时 (UTF-8 转 UTF-16 编码的 WideString),请使用 UTF8String |
WideCharLenToString | WideChar 指针转字符串,指定最大长度 |
WideCharLenToStrVar | WideChar 指针转字符串,指定最大长度 |
WideCharToString | WideChar 指针转字符串 |
WideCharToStrVar | WideChar 指针转字符串 |
WideCharToUCS4String | UTF-16 转 UTF-32 |
WideStringToUCS4String | WideString (UTF-16) 转 UTF-32 字符串 |
5.5. 文件处理函数
函数 | 说明 |
---|---|
ChDir | 设置当前路径 |
Flush | 清除文本文件的缓存,修改内容写入磁盘 |
GetTextCodePage | 获取文本文件的代码页 |
IOResult | 获取 I/O 错误编码 |
MkDir | 创建文件夹 |
RmDir | 删除空文件夹 |
SetInOutRes | 设置 I/O 错误编码 |
SetLineBreakStyle | 设置换行符 |
SetTextCodePage | 设置文本文件的代码页 |
TextStart | 已经弃用的函数 |
5.6. 动态数组相关的函数
函数 | 说明 |
---|---|
CopyArray | 复制动态数组,按照给定的元素类型 |
DynArrayAssign | 复制动态数组 |
DynArrayBounds | 获取动态数组下标范围 |
DynArrayClear | 清除动态数组 |
DynArrayCopy | 复制动态数组里面的数据 |
DynArrayCopyRange | 复制动态数组里面的一部分数据 |
DynArrayDim | 获取动态数组的维度 |
DynArrayIndex | 获取动态数组里面指定下标的数据 |
DynArraySetLength | 改变动态数组每个维度的数据个数 |
DynArraySize | 获取动态数组大小 |
DynArrayUnique | 如果动态数组与其他动态数组共用内存,分配内存并复制内容,引用计数置为1,与其他动态数组脱离引用关系 |
FinalizeArray | 结束动态数组操作 |
InitializeArray | 初始化动态数组 |
IsDynArrayRectangular | 动态数组每个维度的元素个数是否相同 |
MoveArray | 复制动态数组,按照给定的元素类型 |
5.7. 浮点数处理及数学运算函数
函数 | 说明 |
---|---|
ArcTan | 反正切 |
CompToCurrency | Comp 类型数值转货币类型数值 |
CompToDouble | Comp 类型数值转 double 类型数值 |
Cos | 余弦 |
CurrencyToComp | 货币类型数值转 Comp 类型数值 |
DoubleToComp | double 类型数值转 Comp 类型数值 |
Exp | ex |
ExpMinus1 | ex-1 |
FPower10 | 过时的函数,可以用 Power10 代替 |
Frac | 浮点数的小数部分 |
Int | 浮点数的整数部分 |
Ln | 自然对数 |
LnXPlus1 | x+1 的自然对数 ln(x+1) |
Power10 | x*10p |
Sin | 正弦 |
SineCosine | 正弦和余弦 |
Sqrt | 开平方 |
Tangent | 正切 |
5.8. 未分类的函数
函数 | 说明 |
---|---|
AddModuleUnloadProc | 添加当组件包卸载的时候执行的回调函数 |
BeginThread | 创建一个线程 |
CopyRecord | 复制记录,按照指定的字段结构类型 |
DLLShutdown | DLL 退出时执行,这个函数会调用 DLLShutdownProc 回调函数 |
EndThread | 结束一个线程 |
EnumModules | 枚举 exe 文件加载的模块 (组件包) |
EnumResourceModules | 枚举 exe 文件加载的资源模块 |
FinalizeRecord | 结束记录操作 |
FindClassHInstance | 寻找某个类是在哪个模块里面定义的 |
FindHInstance | 寻找某个内存地址属于哪个模块 |
FindResourceHInstance | 寻找某个资源在哪个模块里面 |
GetCPUID | 获取 CPUID 的值 |
GetDynaMethod | 用于动态方法调度 |
GetLocaleOverride | 通过应用程序的名字获取这个应用程序的语言 |
GetResourceModuleName | 根据模块名称获取模块的语言 |
GetUILanguages | 根于语言 ID 返回显示适合使用的语言列表 |
GetVariantManager | 获取 Variant 类型数据管理器 |
InterLockedExchg | 源码里面没发现这个函数的使用 (使用 AtomicExchange 赋值并返回以前的值) |
interface_cast | 接口类型转换,相当于 Delphi 的 as 操作符 |
IsVariantManagerSet | 获取是否设置了 Variant 类型数据管理器 |
LoadResourceModule | 加载资源模块 |
Mark | Turbo Pascal 遗留下来的函数,这个函数已经没有意义了 |
MonitorEnter | 锁定使用一个对象,如果被别的线程锁定了,这个线程就挂起等待 |
MonitorExit | 被锁定使用的对象解锁 |
MonitorPulse | 解锁对象之后,告诉下一个等待的线程可以立即锁定使用了 |
MonitorPulseAll | 解锁对象之后,告诉等待队列里面所有的线程可以立即锁定使用了 |
MonitorTryEnter | 锁定使用一个对象,如果被别的线程锁定了,这个函数就失败返回 |
MonitorWait | 等待被锁定对象解锁 |
MoveRecord | 复制记录,按照指定的字段结构类型 |
ParamCount | 命令行参数个数 |
ParamStr | 命令行参数 |
Random | 生成随机数 |
Randomize | 初始化随机数 |
RegisterModule | 注册模块,系统内部使用的函数 |
RegisterWeakRefTypeInfo | 系统内部用于 RTTI 的函数 |
Release | Turbo Pascal 遗留下来的函数,这个函数已经没有意义了 |
RemoveModuleUnloadProc | 移除当组件包卸载的时候执行的回调函数 |
SetLocaleOverride | 设置应用程序的语言 |
SetVariantManager | 设置 Variant 类型数据管理器 |
SysHasWeakRef | 系统内部用于 RTTI 的函数 |
UnregisterModule | 注销模块,系统内部使用的函数 |
相关:
- System::Classes
- System::Sysutils
- System::Syncobjs
- System::Dateutils
- System::Ioutils
- System::Netencoding
- <cstdlib>
- <cstdio>
- <cstring>
C++ Builder 参考手册 ➙ System
网友评论