加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

在Delphi中循环遍历不规则枚举

发布时间:2020-12-15 04:30:16 所属栏目:大数据 来源:网络整理
导读:1)有没有人知道是否可以在Delphi(XE)中循环不规则枚举? 循环正常的枚举是可以的.从Delphi Basics开始: var suit : (Hearts,Clubs,Diamonds,Spades);begin// Loop 3 timesFor suit := Hearts to Diamonds do ShowMessage('Suit = '+IntToStr(Ord(suit)));en
1)有没有人知道是否可以在Delphi(XE)中循环不规则枚举?

循环正常的枚举是可以的.从Delphi Basics开始:

var
  suit : (Hearts,Clubs,Diamonds,Spades);
begin
// Loop 3 times
For suit := Hearts to Diamonds do
   ShowMessage('Suit = '+IntToStr(Ord(suit)));
end;

但是,如果’suit’被声明为

var
  suit : (Hearts=1,Diamonds=10,Spades);

它循环10次.并不令人惊讶,但我想循环3.我到目前为止找到的唯一解决方案是将枚举转换为集合,并使用像delphi.about.com那样的’for … in’-loop.

那么,如果问题1)的回答是否定的,那么:
2)如何从枚举转换为Delphi中的set?

我使用它的上下文是一个编辑框(TEdit)的组件数组,它有一个不规则的编号(edit1,edit5,edit7,edit3,…).虽然可以对所有编辑框进行重新排序,但它删除了使用枚举作为允许在枚举中添加编辑框的灵活方式的原因.

解决方法

我现在手头没有Delphi编译器,但我认为通过这样做可以显着提高gabr的方法
type
  TSuit = (Hearts = 1,Diamonds = 10,Spades);

const
  Suits: array[0..3] of TSuit = (Hearts,Spades);

谁知道,也许它甚至没有编译.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读