如何实现PascalDelphi中获取枚举类型名称的 TypeInfo 功能的详细步骤和代码示例?

2026-04-10 21:022阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计369个文字,预计阅读时间需要2分钟。

如何实现Pascal/Delphi中获取枚举类型名称的 TypeInfo 功能的详细步骤和代码示例?

在使用Delphi 7处理控制台应用程序时,遇到了问题。在第26行代码中,尝试使用`str + :=GetEnumName`时出现了错误。错误信息提示`TypeError`,并指出`TypeInfo`标准函数需要一个类型标识符。可能是缺少了类型标识符。例如,如果`words[3].group`是一个枚举类型,应确保正确引用该类型。

使用Delphi 7处理控制台应用程序,并遇到了问题.我在第26行遇到错误

str := GetEnumName(TypeInfo (words[3].group),

错误显示“[错误] Project1.dpr(26):TYPEINFO标准函数需要一个类型标识符”如果有人可以帮助这个,那将是一个很大的帮助!

干杯!

program Project1; {$APPTYPE CONSOLE} uses SysUtils, TypInfo; type wordset = Record word : String; group : (flavour, colour, place, animal); end; Var words : Array [1..50] of wordset; str : string; groups: string; Begin words[1].word := 'chocolate'; words[1].group := flavour; words[2].word := 'vanilla'; words[2].group := flavour; words[3].word := 'strawberry'; words[3].group := flavour; str := GetEnumName(TypeInfo (words[3].group), integer(group)); readln; end. 您试图传递枚举字段而不是类型标识符.您需要单独声明此枚举(TGroup类型下面的示例中的内容).无论如何,对于每个Type标识符使用T前缀都有一个不成文的约定,因此您可以轻松识别Type.这就是我将Wordset重命名为TWordset的原因. word也不是字段或变量的好名称,因为它也是Delphi中的数据类型.

如何实现Pascal/Delphi中获取枚举类型名称的 TypeInfo 功能的详细步骤和代码示例?

program Project1; {$APPTYPE CONSOLE} uses SysUtils, TypInfo; type TGroup = (Flavour, Color, Place, Animal); type TWordset = record Name: string; Group: TGroup; end; var Str: string; Words: array [1..50] of TWordset; begin Words[1].Name := 'Vanilla'; Words[1].Group := Flavour; Words[2].Name := 'Green'; Words[2].Group := Color; Words[3].Name := 'Home'; Words[3].Group := Place; Words[4].Name := 'Cat'; Words[4].Group := Animal; Str := GetEnumName(TypeInfo(TGroup), Integer(Words[3].Group)); Writeln(Str); Readln; end.

本文共计369个文字,预计阅读时间需要2分钟。

如何实现Pascal/Delphi中获取枚举类型名称的 TypeInfo 功能的详细步骤和代码示例?

在使用Delphi 7处理控制台应用程序时,遇到了问题。在第26行代码中,尝试使用`str + :=GetEnumName`时出现了错误。错误信息提示`TypeError`,并指出`TypeInfo`标准函数需要一个类型标识符。可能是缺少了类型标识符。例如,如果`words[3].group`是一个枚举类型,应确保正确引用该类型。

使用Delphi 7处理控制台应用程序,并遇到了问题.我在第26行遇到错误

str := GetEnumName(TypeInfo (words[3].group),

错误显示“[错误] Project1.dpr(26):TYPEINFO标准函数需要一个类型标识符”如果有人可以帮助这个,那将是一个很大的帮助!

干杯!

program Project1; {$APPTYPE CONSOLE} uses SysUtils, TypInfo; type wordset = Record word : String; group : (flavour, colour, place, animal); end; Var words : Array [1..50] of wordset; str : string; groups: string; Begin words[1].word := 'chocolate'; words[1].group := flavour; words[2].word := 'vanilla'; words[2].group := flavour; words[3].word := 'strawberry'; words[3].group := flavour; str := GetEnumName(TypeInfo (words[3].group), integer(group)); readln; end. 您试图传递枚举字段而不是类型标识符.您需要单独声明此枚举(TGroup类型下面的示例中的内容).无论如何,对于每个Type标识符使用T前缀都有一个不成文的约定,因此您可以轻松识别Type.这就是我将Wordset重命名为TWordset的原因. word也不是字段或变量的好名称,因为它也是Delphi中的数据类型.

如何实现Pascal/Delphi中获取枚举类型名称的 TypeInfo 功能的详细步骤和代码示例?

program Project1; {$APPTYPE CONSOLE} uses SysUtils, TypInfo; type TGroup = (Flavour, Color, Place, Animal); type TWordset = record Name: string; Group: TGroup; end; var Str: string; Words: array [1..50] of TWordset; begin Words[1].Name := 'Vanilla'; Words[1].Group := Flavour; Words[2].Name := 'Green'; Words[2].Group := Color; Words[3].Name := 'Home'; Words[3].Group := Place; Words[4].Name := 'Cat'; Words[4].Group := Animal; Str := GetEnumName(TypeInfo(TGroup), Integer(Words[3].Group)); Writeln(Str); Readln; end.