2008-10-31 51 views
10

如果我有一個類型定義爲集合一個枚舉類型,它很容易創建一個空集與[],但我如何創建一個全集集?我如何填寫Delphi集?

編輯:是的,顯而易見的解決方案是使用for循環。如果還有其他方法,這也是一個非常糟糕的解決方案。有誰知道一種方法會在不變的時間內工作嗎?

+1

你知道這是一個bitset,所以使用這些知識,並與全1填充它。它沒有語言原始。 – 2008-10-31 23:23:09

回答

14

低()和高()是可以在編譯時被評爲「編譯神奇」的功能。 這讓他們在不斷的聲明類似如下用途:

 
var 
    MySet : TBorderIcons; 
    MySet2 : TBorderIcons; 
const 
    AllIcons : TBorderIcons = [Low(TBorderIcon)..High(TBorderIcon)]; 
begin 
    MySet := [Low(TBorderIcon)..High(TBorderIcon)]; 
    MySet2 := AllIcons; 
end; 
+0

老兄!那很好! ;) 謝謝! – 2008-11-04 03:11:00

7

每巴里的建議:

FillChar(VarSet, SizeOf(VarSet), $FF);