2011-08-11 26 views
8

我曾在德尔福以下枚举:值分配给其他变量

type TChangingDataSetState=(Inserting=1,Editing,Deleting) 
...... 
var 
ChangingDSSsate:TChangingDataSetState; 

在BeforePost事件中,我检查,如果在插入模式的数据集,然后我

ChangingDSState:=Inserting 
else 
ChagingDSState:=Editing 

假设数据集处于编辑模式,这意味着我的ChangingDSState var将被删除到2(编辑)。现在我想知道如何使用该数字将它作为参数传递给过程

+0

你确定你需要'TChangingDataSetState'声明中的'= 1'吗? –

+2

如果他没有,枚举从序号值0开始。 – HeartWare

+0

+1对于'TChangingDataSetState =(Inserting = 1'部分,不知道你可以强制这样的枚举值,非常酷,这是什么时候引入的? – Johan

回答

12

我假设您想要的是序数值而不是枚举值。你可以通过ord()获得。

所以,ord(ChagingDSState)是具有2的值的整数表达时ChagingDSState等于Editing

+0

感谢哟身体,我会在8分钟内给出答案,因为我不知道。OK?:)) –

+1

+1使用'Ord(ChagingDSState)',而不是转换成整数'整型(ChagingDSState)' –