Win32 के लिए डेल्फी में, बीडीई के बिना मूल रूप से एक डीबीएफ फ़ाइल को कैसे पढ़ और लिखना है? मुझे पता है कि वेब में कुछ घटक उपलब्ध हैं, लेकिन मैंने कभी भी उनमें से कोई भी उपयोग नहीं किया है, इसलिए मुझे नहीं पता कि किसको चुनना है (यदि कोई है)।मूल तरीके से डीबीएफ को कैसे पढ़ और लिखना है?
उत्तर
आप एक DBF फ़ाइल
तक पहुँचने के लिए चौथाई नमूना कोड (एक TAdoConnection
और TAdoDataSet
घटकों का उपयोग) देखें ADO का उपयोग कर सकते हैं।
var
dbf_folder : string;
begin
dbf_folder:='c:\bdd';//set your dbf folder location here
ADOConnection1.LoginPrompt:=false;
ADOConnection1.ConnectionString:=Format('Provider=Microsoft.JET.OLEDB.4.0;Data Source=%s;Extended Properties=dBase IV;',[dbf_folder]);
try
ADOConnection1.Connected:=True;
ADODataSet1.CommandText:='Select * from file.dbf'; //make your SQL query using the name of the dbf file
ADODataSet1.Open;
while not ADODataSet1.eof do
begin
//do your stuff here
//ADODataSet1.FieldByName('').AsString
ADODataSet1.Next;
end;
except
on E : Exception do
ShowMessage(E.Message);
end;
end;
यदि आपको इंडेक्स की आवश्यकता नहीं है तो डीबीएफ फ़ाइल को पढ़ना मुश्किल नहीं है। प्रारूप बहुत सरल है। एक हेडर निश्चित आकार के रजिस्टरों के लिए पीछा किया। प्रत्येक रजिस्टर में एक झंडा है जो इंगित करता है कि यह हटा दिया गया है या नहीं। मैं सुझाव देता हूं कि एक घटक ढूंढें जो आप चाहते हैं। आप कुछ in Torry's Delphi pages पा सकते हैं।
मैंने फायरबर्ड के साथ शुरू होने से पहले कई वर्षों तक सॉफ्टवेयर साइंस से Topaz का उपयोग किया। यह हमेशा एक उत्कृष्ट पुस्तकालय था, एक भयानक मैनुअल और अच्छा तकनीकी समर्थन था। यह इंडेक्स का समर्थन करता है और यहां तक कि एक मेमोरी विकल्प भी है। मुझे लगता है कि यह एक अच्छा विकल्प होगा।
दुर्भाग्य से मैं हाल ही में पता चला आगे क्या करना है (के बाद मैं पहले से ही परिवर्तित कोड पर भी कई घंटे खर्च किया था) पता है कि यह शून्य मान समर्थन नहीं करता। वे फ़ील्ड प्रकार के आधार पर स्वचालित रूप से खाली तारों या 0 में परिवर्तित हो जाते हैं। इस लापता फीचर ने टॉपज को मेरे लिए बिल्कुल बेकार बना दिया। :-(अब मैंने अपने "60 दिनों के पैसे वापस" प्रस्ताव के लिए आवेदन किया है। मुझे उम्मीद है कि वे इसके साथ चिपके रहेंगे, इसलिए कम से कम मुझे उन 100 अमेरिकी डॉलर वापस मिलेंगे। समय पहले से ही खो गया है। – dummzeuch
मुझे खेद है कि यह उपयुक्त नहीं था जब वे नियमित रूप से उनके साथ निपटाते थे तो वे एक बहुत ही पेशेवर ग्राहक उन्मुख कंपनी थे। मुझे आशा है कि आपका अनुभव उतना ही अच्छा होगा जितना मेरा था। फिर, मुझे खेद है कि मैंने आपको एक अंधे गली के नीचे इंगित किया। – jrodenhi
jrodenhi: निश्चित रूप से आपकी गलती नहीं थी। मुझे केवल यह पता चला कि मैंने पहले ही यह निर्धारित किया था कि टोपेज़ ने जो कुछ भी किया था, वह नहीं किया। मैंने इस टिप्पणी को अन्य लोगों को इस कमी के बारे में जागरूक करने के लिए पोस्ट किया ताकि वे इस पर जितना समय बर्बाद न करें – dummzeuch
मैंने इसका उपयोग किया, लेकिन मुख्य रूप से गति के कारण टीडीबीएफ में माइग्रेट किया गया कारणों के बावजूद विंग ने अपोलो –
मैंने TDBF का उपयोग किया जब मैं अभी भी डीबीएफ फाइलों (कुछ विरासत ऐप्स) के साथ काम कर रहा था। मैं अभी भी उन ऐप्स के रखरखाव के लिए इसका उपयोग करता हूं। यह मुफ़्त है, इसमें बहुत सारी सुविधाएं हैं और अच्छी तरह से काम करती है।
"फ्री" का अर्थ इस मामले में एलजीपीएल खरीदा। वाणिज्यिक ऐप्स के लिए अच्छा नहीं है। – dummzeuch
वाणिज्यिक ऐप्स के लिए यह अच्छा क्यों नहीं होगा? यदि आप इसे संशोधित करते हैं तो आपको केवल टीडीबीएफ स्रोत प्रकाशित करना होगा; अन्यथा आप कोड में बस लिंक कर सकते हैं .. – reiniero
यदि आप * स्थिर * लिंक करते हैं तो आपको न केवल tdbf स्रोत कोड प्रदान करना होगा बल्कि आपके प्रोग्राम का पूरा स्रोत प्रदान करना होगा। Tdbf को गतिशील रूप से लिंक करने के लिए आपको संकुल के साथ काम करना होगा। – dummzeuch
एडीओ मेरे लिए काम नहीं किया है, लेकिन मैं BDE का उपयोग कर मेरी DBF फ़ाइल को खोलने में कामयाब रहे:
से एक डेटा एक्सेस धारा (या BDE, डेल्फी के अपने संस्करण पर निर्भर करता है) मैं एक TDataBase और, TTable घटकों डाल (यदि आप चाहें तो आप TQuery का उपयोग कर सकते हैं)।
TDataBase घटक पर डबलक्लिक करके मैंने सेटअप संवाद खोला। 'Db_name' के साथ नाम फ़ील्ड भरें (नाम मनमानी है), ड्राइवर का नाम = 'मानक', पैरामीटर फ़ील्ड: 'पथ = सी: \ पथ \ से \ DBF_FILES \'। फिर मैंने कनेक्ट = सही सेट किया।
फिर टीटीबल घटक में मैंने डेटाबेस नाम = 'db_name' सेट किया - जिसे मैंने टीडीटाबेस घटक में सेट किया था। और TableName प्रॉपर्टी सेट 'DB_FILE.dbf' जो निर्दिष्ट फ़ोल्डर में स्थित थी। सक्रिय = सही।
आप क्या
- 1. सी ++ में टेक्स्ट फ़ाइल को कैसे पढ़ और लिखना है?
- 2. एसटीएल सी ++ स्ट्रिंग को कैसे पढ़ और लिखना है?
- 3. XML दस्तावेज़ नोड मानों को कैसे पढ़ और लिखना है?
- 4. stsadm -deploysolution सही तरीके से कैसे लिखना है?
- 5. विंडोज सीई में रजिस्ट्री से मूल्य कैसे पढ़ और लिखना है?
- 6. समर्थित एपीआई के साथ जावास्क्रिप्ट से Google स्प्रेडशीट को कैसे पढ़/लिखना है?
- 7. एंड्रॉइड पर डिस्क पर यूटीएफ -8 को कैसे पढ़ और लिखना है?
- 8. पायथन 3 के साथ आईएनआई फ़ाइल को कैसे पढ़ और लिखना है?
- 9. डीबीएफ फाइलों से SQL सर्वर 2008 में कैसे जाना है?
- 10. सी ++ में बाइनरी फ़ाइल में वेक्टर को सही तरीके से कैसे लिखना है?
- 11. आईआईएस यूआरएल पुनः लिखना - सीएसएस और जेएस गलत तरीके से फिर से लिखा जा रहा है
- 12. सी # में एमपी 3 में आईडी 3 टैग कैसे पढ़ और लिखना है?
- 13. सी में "कच्चे" मेमोरी से टाइप मान कैसे पढ़/लिखना है?
- 14. पर्ल में एक पाइप से कैसे पढ़ा और लिखना है?
- 15. लिनक्स कर्नेल मॉड्यूल के भीतर फ़ाइलों को कैसे पढ़/लिखना है?
- 16. जे 2 एमई/ब्लैकबेरी - टेक्स्ट फ़ाइल को कैसे पढ़/लिखना है?
- 17. सी # में स्क्रैच से डीबीएफ फाइल कैसे बनाएं?
- 18. क्या कोई मुफ्त डीबीएफ फ़ाइल कनवर्टर है?
- 19. एंड्रॉइड - मूल कोड से फाइलें लिखना/सहेजना केवल
- 20. मुझे स्टेटिक तरीके कब लिखना चाहिए?
- 21. यूआरएल asp.net में नए सिरे से लिखना लेकिन मूल यूआरएल
- 22. एक मूल PHP एमवीसी लिखना, सुनिश्चित नहीं है कि
- 23. आरएफसी कैसे लिखना और प्रस्तावित करना है?
- 24. एक फ़ाइलस्ट्रीम को लिखना अजीब तरीके से व्यवहार करता है, जैसा कि प्रक्रिया मॉनीटर
- 25. क्या मैं जावास्क्रिप्ट से कैप्चा डेटा को सुरक्षित तरीके से पढ़ सकता हूं?
- 26. इसे कैसे लिखना है?
- 27. सी फ़्रेड() जादुई रूप से गतिशील रूप से आवंटित संरचना सदस्यों को पढ़ रहा है, कैसे?
- 28. अपेक्षित असफलताओं को कैसे लिखना है?
- 29. Emacs और Cygwin को सर्वश्रेष्ठ तरीके से एकीकृत कैसे करें?
- 30. ओपनसीवी आरजीबी छवि को कैसे लिखना है
+1 "आउट ऑफ़ द बॉक्स" डेल्फी समाधान –
यह सिर्फ मेरे उद्देश्य – eKek0
त्रुटि के लिए काम करता है: "नेटवर्क या डिस्क त्रुटि" :( –