delphi – 如何将WriteLn与枚举类型一起使用?

前端之家收集整理的这篇文章主要介绍了delphi – 如何将WriteLn与枚举类型一起使用?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试为一周中的几天制作自定义数据类型,但我无法写它.编译器错误说明:

[Error] hours.dpr(28): Illegal type in Write/Writeln statement

program hours;

{$APPTYPE CONSOLE}

uses
  SysUtils;

type
  TypeDay = (Sun,Mon,Tue,Wed,Thu,Fri,Sat);

var day: TypeDay;

begin
     for day := Sun to Sat do
     begin
         writeln(day);
     end;
end.

它在Windows上的Delphi 7中.

解决方法

你不需要为此编写汇编程序; TypInfo包含执行此操作所需的所有内容(获取枚举值关联的字符串).

这段代码

program hours;

{$APPTYPE CONSOLE}

uses
  SysUtils,TypInfo;

type
  TypeDay = (Sun,Sat);

var
  day: TypeDay;
  Str:String;

begin
     for day := Sun to Sat do begin
        Str := GetEnumName(TypeInfo(TypeDay),ord(day));
         writeln(Str);
     end;
end.

这是输出

问候.

猜你在找的Delphi相关文章