घर
Top.Mail.Ru Yandeks.Metrika
मंच: "शुरुआती";
वर्तमान संग्रह: 2018.02.18;
डाउनलोड करें: [xml.tar.bz2];

नीचे

विभिन्न प्रकार के नियंत्रणों की सामान्य संपत्ति को कैसे बदलना है इसी तरह की शाखाएँ खोजें


Дмитрий   (2016-02-12 18:09) [0]

मैं ReadOnly संपत्ति सेट करने के लिए नियंत्रण के माध्यम से लूप करता हूं
मगर
(नियंत्रण [i] TCustomEdit के रूप में) ... ReadOnly संपत्ति नहीं देखता है

विषम क्षेत्रों के लिए ReadOnly सेट करने का सबसे अच्छा तरीका क्या है?
स्टॉक में
TDBEdit, TDBMemo, TDBDateEdit - TCustomEdit के सामान्य पूर्वज
TDBLookupComboBox - ...



KilkennyCat ©   (2016-02-12 18:26) [1]

इन नियंत्रण संदेश ट्रेसिंग में जोड़ने के लिए। एन्टो संदेश जनरेट करें। उन्हें खुद को पकड़ने और सेट करने दें।



Дмитрий   (2016-02-12 18:38) [2]

क्या यह अधिक विस्तार से संभव है?



Юрий Зотов ©   (2016-02-12 19:19) [3]

आरटीआई के माध्यम से।



Юрий Зотов ©   (2016-02-12 23:45) [4]

एक ही लूप में:
अगर GetPropInfo (नियंत्रण [i] .ClassInfo, "ReadOnly") <> nil तब सेटप्रॉपवैल्यू (नियंत्रण [i], "रीडऑनली", सच);



Юрий Зотов ©   (2016-02-12 23:49) [5]

और कुछ भी नहीं की जरूरत है, कोई पूर्वजों और कोई संदेश नहीं है। केवल उपयोग में केवल TypInfo जोड़ता है।



Германн ©   (2016-02-13 01:36) [6]


> यूरी जोतोव © (12.02.16 23: 49) [5]
>
> और कुछ नहीं, कोई पूर्वजों और संदेशों की जरूरत नहीं है।
> केवल उपयोग में TypInfo जोड़ें।

D7 में?



Leonid Troyanovsky ©   (2016-02-13 10:10) [7]


> दिमित्री (12.02.16 18: 09)

> (नियंत्रण [मैं] TCustomEdit के रूप में) ... ReadOnly संपत्ति नहीं देखता है

एक आसान तरीका है - घोषित करें
टाइप TMyHackEdit = class (TCustomEdit) सार्वजनिक संपत्ति ReadOnly; अंत;
या बस:
टाइप TMySimpleHackEdit = class (TCustomEdit);
तो
यदि नियंत्रण [i] TCustomEdit है तो TMySimpleHackEdit (नियंत्रण [i]): = गलत;

> विषम क्षेत्रों के लिए ReadOnly सेट करने का सबसे अच्छा तरीका क्या है?

एक सार्वभौमिक विधि ने SW दिखाया।

पूरी तरह से व्यवहार्य क्षेत्र प्लेसमेंट विकल्प
एक पैनल या समूह बॉक्स में उनके सक्षम या दर्शनीय नियंत्रण के साथ।

अधिक लचीली योजनाएँ TAction का उपयोग कर सकती हैं

लेकिन, किसी भी मामले में, समूहन नियंत्रण जीवन को आसान बनाता है।

--
सादर, LVT



Leonid Troyanovsky ©   (2016-02-13 10:13) [8]


> हरमन © (13.02.16 01: 36) [6]

> D7 में?

शाब्दिक रूप से - D5 +।
मौलिक रूप से - D2 +, IMHO।

--
सादर, LVT



Leonid Troyanovsky ©   (2016-02-13 10:16) [9]


> लियोनिद ट्रायोनोव्स्की © (13.02.16 10: 10) [7]

> फिर अगर Control [i] TCustomEdit है तो TMySimpleHackEdit
> (नियंत्रण [i]): = गलत;

यदि नियंत्रण [i] TCustomEdit है तो TMySimpleHackEdit (नियंत्रण [i])। केवल पढ़ें: = गलत;
माफ़ कीजिए.

--
सादर, LVT



Юрий Зотов ©   (2016-02-13 11:39) [10]

> हरमन © (13.02.16 01: 36) [6]

यह D7 में संभव है।



Юрий Зотов ©   (2016-02-13 11:42) [11]

मैं RTTI क्यों सुझाता हूँ?

1। सबसे कॉम्पैक्ट तरीका है।

2। बहुमुखी प्रतिभा। आप जैसे चाहें नियंत्रण की संरचना बदल सकते हैं - कोड नहीं बदलता है।



Германн ©   (2016-02-14 01:28) [12]


> लियोनिद ट्रायोनोव्स्की © (13.02.16 10: 13) [8]



Германн ©   (2016-02-14 01:33) [13]


> यूरी जोतोव © (13.02.16 11: 39) [10]
>
>> हरमन © (13.02.16 01: 36) [6]
>
> यह D7 में संभव है।

मुझे नहीं पता था अब मैं एक "प्रोग्रामर" थोड़ा और गहरा प्रोफाइल बनूंगा। :)
अब तक, मुझे केवल तरीका पता था "
> या बस
"।



Дмитрий   (2016-02-15 17:55) [14]

धन्यवाद विधि
यूरी ज़ोटोव © (12.02.16 23: 45) [4] अगर GetPropInfo (नियंत्रण [i] .ClassInfo, "ReadOnly") <> nil तब सेटप्रॉपवैल्यू (नियंत्रण [i], "रीडऑनली", सच);

महान काम करता है।
दो (एक) अंक पर ठोकर खाई:
पैनल पर स्थित मेनू आइटम और नियंत्रण अचानक प्रपत्र पर नियंत्रण की सूची से अनुपस्थित हैं।
)
ऐसा लगता है कि जटिलता समान होगी, जो चक्रों में सभी नियंत्रणों को असाइन करती है, जो मैनुअल है।



Дмитрий   (2016-02-15 20:02) [15]

नियंत्रण की सूची से घटकों की सूची में ले जाया गया
i: = 0 से कंपोनेंटकाउंट -1 करते हैं शुरू करना अगर पोज़ (घटक [i] .ClassName, "TButton, TBitBtn, TMenuitem")> 0 तो // <== शुरू करना अगर GetPropInfo (घटक [i] .ClassInfo, "सक्षम") <> nil तब सेटप्रॉपवैल्यू (घटक [i], "सक्षम", गलत); अंत अन्यथा अगर GetPropInfo (अवयव [i] .ClassInfo, "ReadOnly") <> nil तब सेटप्रॉपवैल्यू (घटक [i], "रीडऑनली", सच); अंत;

इसके बजाय बहुत से "सुरुचिपूर्ण" चेक क्या हैं
अगर पोज़ (घटक [i] .ClassName, "TButton, TBitBtn, TMenuitem")> 0 तो



Игорь Шевченко ©   (2016-02-15 21:43) [16]


> फार्म के नियंत्रणों की सूची से अचानक अनुपस्थित।


वे अचानक फार्म घटकों की सूची में दिखाई देते हैं।



Юрий Зотов ©   (2016-02-15 22:17) [17]

> दिमित्री (15.02.16 17: 55) [14]

> मेनू आइटम और नियंत्रण पैनलों पर स्थित - अचानक
> फॉर्म के नियंत्रणों की सूची में नहीं।


अचानक कुछ नहीं। मेनू एक नियंत्रण नहीं है। और वे नियंत्रण जो पैनल पर झूठ बोलते हैं - वे उनके अभिभावकीय नियंत्रणों की नियंत्रण सूची में शामिल हैं। वह है, पैनल, आकार नहीं।

लेकिन सभी घटकों (नियंत्रण और गैर-नियंत्रण दोनों) को उनके स्वामी की घटक सूची में शामिल किया गया है। यह है, रूपों - अगर वे डिजाइन-समय में प्रपत्र को ओवरलैप करते हैं।

> ऐसा लगता है कि जटिलता समान होगी, क्या असाइन करना है
> साइकिल में सभी नियंत्रण जो मैन्युअल रूप से होते हैं।


आप सरल रूसी शब्दों में मूल कार्य का वर्णन करेंगे। आमतौर पर इसके बाद सबसे सरल और सबसे सही समाधान है।

> "सुरुचिपूर्ण" चेक क्या हैं

सबसे सुरुचिपूर्ण सभी वर्ग जांचों को दूर फेंकना है। तथ्य यह है कि इस पद्धति के साथ किसी भी वर्ग की जांच की आवश्यकता नहीं है। यह एक सार्वभौमिक तरीका है, यह किसी भी वस्तु के लिए काम करता है। रूसी में कोड का अनुवाद करें - क्या होता है?
यदि एक निश्चित_बजट में सक्षम संपत्ति है, // और ऑब्जेक्ट का वर्ग उदासीन है तब इस संपत्ति को सही पर सेट करें
i: = 0 से कंपोनेंटकाउंट - 1 करते हैं अगर GetPropInfo (अवयव [i] .ClassInfo, "सक्षम") <> nil तब SetPropValue (घटक [i], "सक्षम", गलत) और //, वैसे, इसे और भी हटाया जा सकता है अगर GetPropInfo (अवयव [i] .ClassInfo, "ReadOnly") <> nil तब सेटप्रॉपवैल्यू (घटक [i], "रीडऑनली", सच); // यदि अवयव [i] .ClassInfo से आप चीजों को थोड़ा बढ़ा सकते हैं // केवल एक बार की गणना करें और एक चर में संग्रहीत करें।



Дмитрий   (2016-02-16 16:07) [18]


> आप सरल रूसी शब्दों में मूल कार्य का वर्णन करेंगे। आमतौर पर इसके बाद सबसे सरल और सबसे सही समाधान है।

विभिन्न विशेषाधिकार वाले उपयोगकर्ता एक प्रपत्र खोल सकते हैं।
तदनुसार, श्रेणियां अपने तत्वों को सक्रिय करेंगी।


> सबसे "सुरुचिपूर्ण" सभी क्लास चेक को बिल्कुल फेंक देना है। तथ्य यह है कि इस पद्धति के साथ किसी भी वर्ग की जांच की आवश्यकता नहीं है। यह एक सार्वभौमिक तरीका है, यह किसी भी वस्तु के लिए काम करता है।

मैं यहां प्रकार की जांच करता हूं ताकि एडिट्स "ग्रे" न बनें।
अगर पोज़ (घटक [i] .ClassName, "TButton, TBitBtn, TMenuitem")> 0 तो



Юрий Зотов ©   (2016-02-16 16:49) [19]

> दिमित्री (16.02.16 16: 07) [18]

खराब जाँच। कल, उदाहरण के लिए, कुछ TButtonEdit प्रकट होता है - और यह संपादन ग्रे हो जाएगा।

टैग संपत्ति का उपयोग करें। शून्य - ग्रे मत करो, इकाई - करो।



Дмитрий   (2016-02-16 17:21) [20]

मैंने पहले ही टैग के बारे में सोच लिया था।
क्योंकि यह टैग सेट करने के लिए सभी नियंत्रणों के माध्यम से मैन्युअल रूप से छंटनी की आवश्यकता है, विकल्प स्थगित कर दिया गया है।

> खराब जाँच। कल, उदाहरण के लिए, कुछ TButtonEdit प्रकट होता है - और यह संपादन ग्रे हो जाएगा।

वह ग्रे नहीं होगा, वह Readonly बन जाएगा, अगर वह लाइन में शामिल नहीं है।
मैं पाश के अंदर स्थिति और पाठ की तुलना से भ्रमित हूं।
मुझे कुछ ऐसा चाहिए घटक [i] .Name [Name1, ..., NameN] में
यदि कोई विकल्प नहीं है, तो मैं शायद टैग में पहुंच श्रेणी में प्रवेश करूंगा
अगर अवयव [i] .टैग इन [कैटएक्सन्यूएमएक्स, ..., कैटएन] तब ... // या तो केस कंपोनेंट्स [i] .टैग ऑफ Cat1, ..., CatN:



DenisZ   (2016-02-21 23:43) [21]

मॉडरेटर द्वारा हटा दिया गया



Kilkennycat ©   (2016-02-22 01:15) [22]

मॉडरेटर द्वारा हटा दिया गया



Kilkennycat ©   (2016-02-22 01:30) [23]

http://www.delphimaster.ru/articles/comparray.html#e - мож тут че поможет?



Юрий Зотов ©   (2016-02-23 07:18) [24]

मॉडरेटर द्वारा हटा दिया गया



पन्ने: 1 पूरी शाखा

मंच: "शुरुआती";
वर्तमान संग्रह: 2018.02.18;
डाउनलोड करें: [xml.tar.bz2];

ऊपर





मेमोरी: 0.65 एमबी
समय: 0.023 c
2-1456480306
द्रमुक
2016-02-26 12:51
2018.02.18
punpcklbw (MMX)


1-1356018654
AxNb
2012-12-20 19:50
2018.02.18
डायनामिक स्ट्रीम समय पर दृश्य डेटा अपडेट नहीं करती हैं - XE2


2-1456234119
वेगा
2016-02-23 16:28
2018.02.18
WM_SETTEXT के साथ समस्याएं


15-1470643886
DayGaykin
2016-08-08 11:11
2018.02.18
डेल्फी में डेटाबेस के साथ काम करने का मॉडल बदलें


2-1455289799
दिमित्री
2016-02-12 18:09
2018.02.18
विभिन्न प्रकार के नियंत्रणों की सामान्य संपत्ति को कैसे बदलना है





अफ्रीकी अल्बानियन अरबी भाषा अर्मेनियाई आज़रबाइजानी बस्क बेलारूसी बल्गेरियाई कैटलन सरलीकृत चीनी) चीनी पारंपरिक) क्रोएशियाई चेक डेनिश डच अंग्रेज़ी एस्तोनियावासी फिलिपिनो फिनिश फ्रेंच
गैलिशियन् जॉर्जियाई जर्मन यूनानी हाईटियन यहूदी हिंदी हंगरी आइसलैंड का इन्डोनेशियाई आयरिश इतालवी जापानी कोरियाई लात्वीयावासी लिथुआनियाई मेसीडोनियन मलायी मोलतिज़ नार्वेजियन
फ़ारसी पोलिश पुर्तगाली रोमानियाई रूसी सर्बियाई स्लोवाक स्लोवेनियाई स्पेनिश स्वाहिली स्वीडिश थाई तुर्की यूक्रेनी उर्दू वियतनामी वेल्श यहूदी बंगाली बोस्नियाई
सिबुआनो एस्पेरांतो गुजराती हौसा हमोंग ईग्बो जावानीस कन्नड़ खमेर लाओ लैटिन माओरी मराठी मंगोलियन नेपाली पंजाबी सोमाली तामिल तेलुगु योरूबा
ज़ुलु
Английский Французский Немецкий Итальянский Португальский Русский Испанский