在 delphi 里,提供了一个 TypeInfo 单元,用于运行期获取变量、结构的信息数据。
试编写代码示例如下:
集合定义:
type
TWeekDays = (星期一,星期二,星期三,星期四,星期五,星期六,星期日);
TDays = set of TWeekDays;
集合转换成字符串:
procedure TForm1.Button1Click(Sender: TObject);
var
ti: PTypeInfo;
td: PTypeData;
i: Integer;
begin
ti := TypeInfo(TWeekDays);
td := GetTypeData(ti);
for i := td^.MinValue to td^.MaxValue do
Memo1.Lines.Add(GetEnumName(ti, i));
end;
演示效果:
应该是可以换的!