2011-08-11 95 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)' –