डेल्फी टाइप की फ़ाइलों का उपयोग कर एक डेटाबेस बनाएँ

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

टाइप की गई फाइलें

जबकि पाठ फ़ाइलों में सीआर / एलएफ के साथ समाप्त की गई लाइनें होती हैं (#13#10) मेल, टाइप की गई फ़ाइलों में एक विशेष प्रकार की डेटा संरचना से लिया गया डेटा होता है.

उदाहरण के लिए, निम्न घोषणा एक रिकॉर्ड प्रकार बनाती है जिसे TMember कहा जाता है और TMember रिकॉर्ड चर की एक सरणी।

प्रकार

 टीमम्बर = अभिलेख

 नाम: तार[50];

ईमेल:
तार[30];

पोस्ट: लोंगआईंट;
समाप्त;

वर सदस्य: सरणी[1..50] का TMember; 

इससे पहले कि हम डिस्क पर सूचना लिख ​​सकें, हमें एक फ़ाइल प्रकार का एक वैरिएबल घोषित करना होगा। कोड की निम्नलिखित पंक्ति एक एफ फ़ाइल चर घोषित करती है।

वर एफ: की फ़ाइल TMember; 

instagram viewer

नोट: डेल्फी में टाइप की गई फ़ाइल बनाने के लिए, हम निम्नलिखित का उपयोग करते हैं वाक्य - विन्यास:

वर SomeTypedFile: की फ़ाइल SomeType

फ़ाइल के लिए आधार प्रकार (SomeType) एक स्केलर प्रकार (जैसे डबल), एक सरणी प्रकार या रिकॉर्ड प्रकार हो सकता है। यह एक लंबी स्ट्रिंग, डायनेमिक ऐरे, क्लास, ऑब्जेक्ट या पॉइंटर नहीं होना चाहिए।

डेल्फी से फ़ाइलों के साथ काम करना शुरू करने के लिए, हमें अपने प्रोग्राम में एक डिस्क पर एक फ़ाइल चर फ़ाइल से लिंक करना होगा। इस लिंक को बनाने के लिए, हमें इसका उपयोग करना चाहिए AssignFile फ़ाइल चर के साथ एक डिस्क पर एक फ़ाइल को संबद्ध करने की प्रक्रिया।

 AssignFile (F, 'Members.dat') 

एक बार बाहरी फ़ाइल के साथ संबंध स्थापित हो जाने के बाद, इसे पढ़ने और लिखने के लिए तैयार करने के लिए फ़ाइल चर F को 'खोला' जाना चाहिए। नई फाइल बनाने के लिए हम मौजूदा फाइल को खोलने के लिए रीसेट प्रक्रिया कहते हैं। जब कोई प्रोग्राम किसी फ़ाइल को संसाधित करता है, तो फ़ाइल को CloseFile प्रक्रिया का उपयोग करके बंद किया जाना चाहिए। किसी फ़ाइल के बंद होने के बाद, उसकी संबद्ध बाहरी फ़ाइल अपडेट हो जाती है। फ़ाइल चर को फिर किसी अन्य बाहरी फ़ाइल के साथ जोड़ा जा सकता है।

सामान्य तौर पर, हमें हमेशा उपयोग करना चाहिए उपवाद सम्भालना; फ़ाइलों के साथ काम करते समय कई त्रुटियाँ उत्पन्न हो सकती हैं। उदाहरण के लिए: यदि हम एक फाइल के लिए क्लोजफाइल कहते हैं जो पहले से ही बंद है तो डेल्फी आई / ओ त्रुटि की रिपोर्ट करता है। दूसरी ओर, अगर हम किसी फाइल को बंद करने की कोशिश करते हैं, लेकिन अभी तक असिग्नफाइल नहीं कहा गया है, तो परिणाम अप्रत्याशित हैं।

एक फ़ाइल में लिखें

मान लीजिए कि हमने डेल्फी के सदस्यों की एक सरणी उनके नाम, ई-मेल और पोस्ट की संख्या से भर दी है और हम इस जानकारी को डिस्क पर एक फ़ाइल में संग्रहीत करना चाहते हैं। निम्नलिखित कोड काम करेगा:

वर

 एफ: की फ़ाइल TMember;

i: पूर्णांक;
शुरू

 AssignFile (F, 'members.dat');

 पुनर्लेखन (एफ);

प्रयत्न

के लिये j: = १ सेवा 50 कर

 लिखें (एफ, सदस्य [जे]);

आखिरकार

 क्लोज़फ़ाइल (एफ);

समाप्त;समाप्त; 

एक फ़ाइल से पढ़ें

'Members.dat' फ़ाइल से सभी जानकारी प्राप्त करने के लिए हम निम्नलिखित का उपयोग करेंगे कोड:

वर

 सदस्य: TMember

 एफ: की फ़ाइल TMember;शुरू

 AssignFile (F, 'members.dat');

 रीसेट (एफ);

प्रयत्न

जबकि नहीं Eof (F) शुरू करो

 पढ़ें (एफ, सदस्य);

{DoSomethingWithMember;}

समाप्त;

आखिरकार

 क्लोज़फ़ाइल (एफ);

समाप्त;समाप्त; 

ध्यान दें: Eof EndOfFile चेकिंग फंक्शन है। हम इस फ़ंक्शन का उपयोग यह सुनिश्चित करने के लिए करते हैं कि हम फ़ाइल के अंत (पिछले संग्रहीत रिकॉर्ड से परे) को पढ़ने की कोशिश नहीं कर रहे हैं।

तलाश और स्थिति

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

{शुरुआत में वापस जाएं - पहला रिकॉर्ड}

 सीक (एफ, 0);


{5-वें रिकॉर्ड पर जाएं}

 सीक (एफ, 5);


{अंतिम रिकॉर्ड पर जाएं - "अंतिम रिकॉर्ड" के बाद

 सीक (एफ, फाइलसाइज़ (एफ)); 

बदलें और अपडेट करें

आपने अभी-अभी सीखा है कि सदस्यों की संपूर्ण सरणी कैसे लिखी और पढ़ी जाती है, लेकिन क्या होगा यदि आप 10 वें सदस्य की तलाश करना चाहते हैं और ई-मेल बदलना चाहते हैं? अगली प्रक्रिया ठीक यही करती है:

प्रक्रिया ई - मेल बदलें(स्थिरांक RecN: पूर्णांक; स्थिरांक नई ईमेल: तार) ;वर डमीमेलर: टीएमम्बर;शुरू

{असाइन करें, खोलें, अपवाद हैंडलिंग ब्लॉक}

 सीक (एफ, आरईसीएन);

 पढ़ें (एफ, डमीमेलर);

 DummyMember। ईमेल: = NewEMail;

{अगले रिकॉर्ड के लिए चालें पढ़ें, हमें करना है

मूल रिकॉर्ड पर वापस जाएं, फिर लिखें}
 सीक (एफ, आरईसीएन);

 लिखें (एफ, डमीमेलर);

{बंद फ़ाइल}समाप्त;

टास्क पूरा करना

बस, अब आपके पास अपना काम पूरा करने की जरूरत है। आप डिस्क पर सदस्यों की जानकारी लिख सकते हैं, आप इसे वापस पढ़ सकते हैं, और आप फ़ाइल के "मध्य" में कुछ डेटा (उदाहरण के लिए ई-मेल) भी बदल सकते हैं।

क्या महत्वपूर्ण है कि यह फ़ाइल नहीं है ASCII फ़ाइल, यह कैसा है नोटपैड (केवल एक रिकॉर्ड):

 । डेल्फी गाइड जी Ò5 · Guide Guide। 5.. बी वी। एल।, „[email protected]„ ।। ç.ç.ï.. 

instagram story viewer