2008-10-31 9 views
10

यदि मेरे पास के सेट के रूप में परिभाषित एक प्रकार है, तो एक विस्तृत प्रकार है, [] के साथ एक खाली सेट बनाना आसान है, लेकिन मैं पूर्ण सेट कैसे बना सकता हूं?मैं डेल्फी सेट कैसे भरूं?

संपादित करें: हाँ, स्पष्ट समाधान लूप का उपयोग करना है। अगर कोई दूसरा तरीका है तो यह भी वास्तव में एक बुरा समाधान है। क्या किसी को ऐसे तरीके से पता है जो निरंतर समय में काम करेगा?

+1

तुम्हें पता है कि यह एक bitset है, तो उस ज्ञान का उपयोग करें और सभी 1s के साथ इसे भरने: यह निम्नलिखित की तरह निरंतर घोषणाओं में उनके उपयोग की अनुमति देता है। इसके लिए कोई भाषा आदिम नहीं है। –

उत्तर

14

कम() और उच्च() "संकलक जादू" कार्यों कि संकलन समय पर मूल्यांकन किया जा सकता है।

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

दोस्त! वह अच्छा था! ;) धन्यवाद! –

+0

मैं इसके बाद भी अपना जवाब हटा रहा हूं;) –

7

प्रति बैरी सुझाव:

FillChar(VarSet, SizeOf(VarSet), $FF); 
संबंधित मुद्दे