सलाह

विन्डोज़ एक्सप्लोरर की नकल करने के लिए डेल्फी फ़ाइल और डायरेक्ट्री कंट्रोल का उपयोग करें

विन्डोज़ एक्सप्लोरर की नकल करने के लिए डेल्फी फ़ाइल और डायरेक्ट्री कंट्रोल का उपयोग करें



We are searching data for your request:

Forums and discussions:
Manuals and reference books:
Data from registers:
Wait the end of the search in all databases.
Upon completion, a link will appear to access the found materials.

विंडोज एक्सप्लोरर वह है जो आप विंडोज ऑपरेटिंग सिस्टम में फाइल और फोल्डर के लिए उपयोग करते हैं। आप डेल्फी के साथ एक समान संरचना बना सकते हैं ताकि आपके कार्यक्रम के उपयोगकर्ता इंटरफ़ेस के भीतर समान सामग्री आबाद हो।

डेल्फी में एक एप्लिकेशन में फ़ाइल खोलने और सहेजने के लिए सामान्य संवाद बॉक्स का उपयोग किया जाता है। यदि आप अनुकूलित फ़ाइल प्रबंधकों और निर्देशिका ब्राउज़िंग संवादों का उपयोग करना चाहते हैं, तो आपको फ़ाइल सिस्टम डेल्फी घटकों से निपटना होगा।

विन 3.1 वीसीएल पैलेट समूह में कई घटक शामिल हैं जो आपको अपने स्वयं के कस्टम "फाइल ओपन" या "फाइल सेव" डायलॉग बॉक्स बनाने की अनुमति देते हैं: TFileListBox, TDirectoryListBox, TDriveComboBox, तथा TFilterComboBox.

फ़ाइलों को नेविगेट करना

फ़ाइल सिस्टम घटक हमें एक ड्राइव का चयन करने की अनुमति देते हैं, एक डिस्क के पदानुक्रमित निर्देशिका संरचना को देखते हैं, और किसी दिए गए निर्देशिका में फ़ाइलों के नाम देखते हैं। फ़ाइल सिस्टम के सभी घटक एक साथ काम करने के लिए डिज़ाइन किए गए हैं।

उदाहरण के लिए, आपका कोड इस बात की जाँच करता है कि उपयोगकर्ता ने क्या किया है, ड्राइवकॉमबॉक्स कहे और फिर इस जानकारी को डायरेक्ट्री लिस्टबॉक्स में भेज दे। DirectoryListBox में परिवर्तन तब एक FileListBox को पास किया जाता है जिसमें उपयोगकर्ता को आवश्यक फ़ाइल (फाइलों) का चयन कर सकते हैं।

डायलॉग फॉर्म को डिजाइन करना

एक नया डेल्फी एप्लिकेशन शुरू करें और कॉम्पोनेन्ट पैलेट के विन 3.1 टैब का चयन करें। फिर निम्न कार्य करें:

  • किसी एक TFileListBox, TDirectoryListBox, TDriveComboBox, और TFilterComboBox घटक को अपने सभी डिफ़ॉल्ट नामों को रखते हुए फ़ॉर्म पर रखें।
  • एक Tedit ("FileNameEdit नाम") और एक TLAB जोड़ें (इसे "DirLabel" कहें)।
  • कैप्शन के साथ कुछ लेबल शामिल करें, जैसे "फ़ाइल का नाम," "निर्देशिका," "प्रकार की सूची फ़ाइलें," और "ड्राइव।"

वर्तमान में चयनित पथ को एक डर्लेबेल घटक कैप्शन में एक स्ट्रिंग के रूप में दिखाने के लिए, लेबल का नाम डायरेक्टरीलिस्टबॉक्स को असाइन करें डर्लेबेल संपत्ति.

यदि आप एक EditBox (FileNameEdit) में चयनित फ़ाइलनाम प्रदर्शित करना चाहते हैं, तो आपको FileListBox के लिए ऑब्जेक्ट का नाम (FileNameEdit) संपादित करना होगा फ़ाइल संपत्ति.

कोड की अधिक लाइनें

जब आपके पास फ़ॉर्म पर सभी फ़ाइल सिस्टम घटक होते हैं, तो आपको बस घटकों को सेट करना होता है ताकि उपयोगकर्ता जो भी देखना चाहते हैं, उसे संप्रेषित करने और दिखाने के लिए संपत्ति और FileListBox.Directory संपत्ति का उपयोग करें।

उदाहरण के लिए, जब उपयोगकर्ता एक नई ड्राइव का चयन करता है, डेल्फी सक्रिय करता है DriveComboBox OnChange आयोजन प्रबंधकर्ता। इसे इस तरह बनाओ:

 प्रक्रिया TForm1.DriveComboBox1Change (प्रेषक: TObject);
शुरू
DirectoryListBox1.Drive: = DriveComboBox1.Drive;
समाप्त
;

यह कोड डिस्प्ले में बदलाव करता है DirectoryListBox इसकी सक्रियता से परिवर्तन पर आयोजन प्रबंधकर्ता:

 प्रक्रिया TForm1.DirectoryListBox1Change (प्रेषक: TObject);
शुरू
FileListBox1.Directory: = DirectoryListBox1.Directory;
समाप्त
;

यह देखने के लिए कि उपयोगकर्ता ने किस फ़ाइल को चुना है, आपको इसका उपयोग करने की आवश्यकता है OnDblClick की घटना FileListBox:

 प्रक्रिया TForm1.FileListBox1DblClick (प्रेषक: TObject);
शुरू
शोकेस ('चयनित:' + FileListBox1.FileName);
समाप्त;

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

प्रदर्शन को फ़िल्टर करना

FileListBox में प्रदर्शित की जाने वाली फ़ाइलों के प्रकार को नियंत्रित करने के लिए FilterComboBox का उपयोग करें। FileComistBox के नाम से FilterComboBox की फाइललिस्ट संपत्ति सेट करने के बाद, फ़िल्टर संपत्ति को उन फ़ाइल प्रकारों पर सेट करें जिन्हें आप प्रदर्शित करना चाहते हैं।

यहाँ एक नमूना फिल्टर है:

FilterComboBox1.Filter: = 'सभी फाइलें (*। *) | *। * | प्रोजेक्ट फाइलें (* .dpr) | * .dpr | पास्कल इकाइयाँ (* .pas) | * .pas ';

संकेत और सुझाव

DirectoryListBox.Drive प्रॉपर्टी और FileListBox को सेट करना। रनटाइम के दौरान इनडायरेक्ट्री प्रॉपर्टी (पहले लिखे ऑनकॉन्ग इवेंट हैंडलर में) डिजाइन टाइम पर भी की जा सकती है। आप निम्न गुणों (ऑब्जेक्ट इंस्पेक्टर से) को सेट करके डिज़ाइन समय पर इस तरह के कनेक्शन को पूरा कर सकते हैं:

DriveComboBox1.DirList: = DirectoryListBox1
DirectoryListBox1.FileList: = FileListBox1

अगर कोई मल्टीलेक्ट प्रॉपर्टी ट्रू है तो यूजर फाइल लिस्टबॉक्स में कई फाइलों का चयन कर सकते हैं। निम्न कोड दिखाता है कि FileListBox में कई चयनों की एक सूची कैसे बनाएं और इसे एक SimpleListBox (कुछ "साधारण" ListBox नियंत्रण) में दिखाएं।

var k: पूर्णांक ...
साथ में
FileListBox1 करना
अगर
सेलकाउंट> 0 फिर
के लिये
k: = 0 to Item.Count-1 करना
अगर
Selectedk फिर
SimpleListBox.Items.Add (Itemk);

पूर्ण पथ नाम प्रदर्शित करने के लिए जो एक दीर्घवृत्त के साथ छोटा नहीं किया जाता है, एक DirectoryListBox की DirLabel संपत्ति के लिए एक लेबल ऑब्जेक्ट नाम असाइन न करें। इसके बजाय, एक लेबल को एक फ़ॉर्म में डालें और अपनी कैप्शन प्रॉपर्टी को DirectoryListBox के OnChange इवेंट में DirectoryListBox.Directory प्रॉपर्टी पर सेट करें।