`
禹爸爸
  • 浏览: 85758 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

获取Delphi中定义的枚举类型的名称和值

阅读更多

利用TypInfo单元的GetEnumNameGetEnumValue可以遍历任意枚举类型,并获取其名称和值。下面是示例Demo。

procedureTForm1.btnTestClick(Sender:TObject);
var
p:PTypeData;
i:Integer;
s:String;
pt:PTypeInfo;
begin
ListBox1.Items.Clear;
pt:
=TypeInfo(TWindowState);
ifpt.Kind<>tkEnumerationthenbegin
ShowMessage(
'不是枚举类型');
Exit;
end;

p:
=GetTypeData(TypeInfo(TWindowState));

//将获取的枚举类型信息,以枚举名=枚举值的形式加入到ListBox中
ListBox1.Items.beginUpdate;
try
fori:=p.MinValuetop.MaxValuedobegin
S:
=GetEnumName(pt,i);
ListBox1.Items.Values[S]:
=IntToStr(GetEnumValue(pt,S));
end;
finally
ListBox1.Items.EndUpdate;
end;
end;

版权声明:本文为博主原创文章,未经博主允许不得转载。

分享到:
评论

相关推荐

    Delphi获取打印机列表信息

    在Delphi编程环境中,获取打印机列表和详细信息是常见的任务,尤其在开发涉及打印功能的应用程序时。Delphi提供了一套完整的Windows API函数和VCL组件来处理与打印相关的任务,包括枚举本地和网络打印机、获取打印机...

    又一个进程与枚举和窗口的Delphi程序实例.rar

    Delphi程序员通常会使用Pascal语法调用Windows API,通过声明类型定义和外部函数来访问底层操作系统服务。在这个实例中,源码可能会包含对这些API的声明和使用,这对于理解和掌握Windows编程非常有益。 此外,`...

    Delphi获取字体列表..rar

    在Delphi编程环境中,获取系统中的字体列表是一项常见的任务,特别是在需要创建文本编辑器、图形设计软件或任何涉及用户选择字体的应用程序时。本篇将深入探讨如何在Delphi中实现这一功能,以及相关的编程技巧。 ...

    获取打印机的当前状态

    获取打印机的当前状态 在计算机系统中,获取打印机的当前状态是非常重要的,因为它可以帮助我们判断打印机是否...我们可以使用枚举类型和 ManagementObject 类来获取打印机的状态,并根据状态来判断是否可以打印文件。

    Delphi枚举出系统所有的打印机..rar

    // 枚举类型,如PRINTER_ENUM_LOCAL pName: LPTSTR; // 打印机名,可为NULL枚举所有 dwLevel: DWORD; // 信息级别,如2表示PRINTER_INFO_2 pPrinterEnum: LPBYTE; // 接收打印机信息的缓冲区 cbBuf: DWORD; // ...

    DLL2PAS Delphi据DLL自动生成PAS文件..rar

    2. 生成接口定义:基于分析结果,DLL2PAS将生成Pascal语言的接口(Interface)部分,这部分定义了函数和过程的声明,包括它们的名称、参数列表和返回类型。 3. 类型映射:由于Delphi和Windows API中的一些数据类型...

    delphi实现的DLL输出函数查看器源代码

    通过这些源代码和资源文件,我们可以学习如何在Delphi中使用WinAPI函数和Pascal语法来枚举和显示DLL的导出函数。例如,可能会使用GetProcAddress和GetModuleHandle等API来获取DLL的信息。此外,还会涉及文件I/O操作...

    Delphi获取工作组计算机..rar

    2. **定义API函数**: Windows API中有一些函数可以用于获取网络信息,例如`NetServerEnum`,它可以枚举指定域或工作组中的服务器。你需要声明并导入这个函数。例如: ```delphi type LPDWORD = ^DWORD; ...

    AdapterInfo.rar_delphi 网卡

    6. **枚举和常量**:Windows API中的一些函数使用枚举类型和常量,你需要知道如何在Delphi中定义它们并使用。 7. **接口(Interface)和类(Class)**:虽然在这个特定的示例中可能不直接涉及,但在更复杂的项目中...

    delphi XE环境认识

    - **示例**:如果选择`{$Z2}`, 枚举类型将至少占用2字节的空间。 **2.1.5 优化(Optimization)** - **功能描述**:控制是否启用代码优化。默认为关闭状态。开启后,编译器会执行诸如将变量放入CPU寄存器、消除常见的...

    delphi通用函数集

    定义了一个枚举类型,包含`TofOff`和`TofOn`两个值。 #### TCharSegmentSet 定义了一个字符段集合类型,用于表示特定的字符段集合。 ### 总结 通过上述介绍可以看出,这个通用函数集涵盖了从字符串处理到图形处理...

    使用Delphi开发自定义接口的OPC数据访问服务器的头文件

    - 用途:用于表示枚举值,通常用于 OPC 规范中的枚举类型。 ### 五、结语 通过分析 OPCDA.pas 头文件的内容,我们可以了解到 OPC 数据访问服务器中的关键组件和接口,这对于使用 Delphi 开发与 OPC 兼容的应用...

    Delphi API函数大全

    ### Delphi API函数大全 ...以上这些API函数涵盖了Delphi开发中常见的文件管理和消息处理操作,对于学习Delphi的人来说非常有用,能够帮助开发者更好地理解和运用这些功能强大的API函数,从而提高开发效率和程序质量。

    GetAllPrinter.rar_YunPrinter 下载_delphi 打印_delphi 打印机_delphi 打印

    3. **`THandle`和`HMODULE`**: 在导入`Winspool.dll`后,你需要获取该库的句柄(`HMODULE`),然后使用`GetProcAddress`函数获取`EnumPrinters`的地址,这是一个`THandle`类型的值。 4. **结构体和记录**: `PRINTER...

    Delphi 进程连接端口查看器实例

    在Delphi中实现进程连接端口查看器,首先需要包含相应的单元文件,如`Windows`、`PSAPI`、`WinSock2`和`MsWsock`,这些单位提供了上述库的函数和类型定义。然后,可以按照以下步骤进行: 1. 初始化WinSock:调用`...

    Delphi XE4 语言指南.pdf

    - **定义**: 与 Unicode 字符串类似,但使用了不同的类型名称。 - **特点**: 通常用于与某些 API 的交互。 - **3.7.6 空终止字符串** - **定义**: 结尾有一个特殊字符 `\0` 表示字符串结束。 - **特点**: 与 C ...

    delphi操作进程

    在Delphi中,`TProcess` 类型(定义在`System.Process`单元)是用于操作进程的主要工具。通过这个类,我们可以获取系统中的进程列表,启动新进程,以及控制现有进程。不过,这个示例代码可能没有直接使用`TProcess`...

    usb_disk_info.rar_USB delphi_delphi usb_usb_usb devices_usb inf

    这里可能有对Windows API的调用,如`SetupDiGetDeviceInterfaceDetail`和`SetupDiEnumDeviceInterfaces`,这些API常用于枚举和获取USB设备信息。 4. **Project1.res**: 这是项目的资源文件,可能包含了图标、字符串...

    05级DELPHI考试试卷答案.pdf

    1. 数据类型:在Object Pascal中,简单数据类型包括整数类型(如Integer)、实数类型(如Real)、布尔类型(如Boolean)和枚举类型(如Enum)。题目指出D选项的“对象类型”不是简单的数据类型,因为它是面向对象...

Global site tag (gtag.js) - Google Analytics