2012-09-27 5 views
13

मैंने के साथ डेल्फी के साथ एक एकल निर्देशिका के तहत सभी स्रोत फ़ाइलों के साथ एक प्रोटोटाइप शुरू किया।
अब, मैं फ़ोल्डर्स के साथ सबकुछ पुनर्गठित करना चाहता हूं।डेल्फी में मेरी इकाइयों की फ़ोल्डर संरचना को पुनर्गठित कैसे करें?

मुझे ऐसा करने के दो तरीके मिले।

1/फर्स्ट प्रत्येक इकाई को डेल्फी आईडीई और Save as में नया फ़ोल्डर खोलना है। फिर पुरानी इकाई फ़ाइल को हटा दें।

2/विंडोज एक्सप्लोरर के तहत, सबकुछ पुनर्गठित करें, फिर डेल्फी आईडीई में प्रोजेक्ट खोलें, पुरानी (अज्ञात) इकाइयों के संदर्भ को हटाएं, और फिर प्रत्येक यूनिट फ़ोल्डर को फ़ोल्डर द्वारा जोड़ें।

जैसा कि मेरे पास 100+ इकाइयां हैं, यह वास्तव में दर्दनाक है, जो भी विधि मैं उपयोग करता हूं (1 या 2)।
आप इस तरह के पुनर्गठन कैसे कर रहे हैं? क्या मुझे कोई सुविधा याद आई?

+2

आईडीई बंद होने पर मैन्युअल रूप से आपकी फ़ाइलों को स्थानांतरित करने और प्रत्येक .dpr को संपादित करने के लिए सबसे तेज़ होगा। –

+1

मैं @sertac से सहमत हूं - यह आईडीई के बाहर सबसे अच्छी तरह से किया गया गतिविधि है। एक बार जब आप अपनी इकाइयों को एक कमांड विंडो में पुनर्गठित कर लेते हैं और अपनी स्रोत निर्देशिका की रूट से _dir/s/b * .pas> units.txt_ दर्ज करते हैं। यह आपको आपकी इकाई के लिए नया पथ युक्त _units.txt_ फ़ाइल देगा। अपनी डीपीआर फाइलों को संपादित करने के लिए इसका इस्तेमाल करें। –

+1

@ किथमिलर यह नहीं भूलते कि '.dproj' फ़ाइलों को भी समायोजित करने की आवश्यकता है जो शाही दर्द हो सकता है। @uweRaabe का एक बेहतर समाधान है। –

उत्तर

14

मैं XE के लिए जाँच नहीं था, लेकिन XE2 में इस आईडीई के अंदर करने के लिए काफी आसान है:

    कई परियोजनाओं के मामले में
  • है में एक परियोजना समूह
  • में सभी परियोजनाओं प्रत्येक यूनिट के लिए परियोजना प्रबंधक
    • F2 दबाकर इकाई का नाम बदलें या संदर्भ मेनू
    • का उपयोग करते हुए इकाई नाम के सामने जगह सबफ़ोल्डर का नाम बदलने करते (जैसे परीक्षण \ Unit1.pas)

आईडीई इकाई (पुराने एक को हटाने) को स्थानांतरित करने और परियोजना समूह में सभी परियोजनाओं के लिए यह परिवर्तन को बढ़ावा देंगे।

+2

यह करने का यह सही तरीका है। आईडीई आपके लिए सभी काम करेगा। –

+4

यह डेल्फीक्स में मेरे लिए काम करता है। लेकिन मुझे इसे एक समय में एक इकाई करना चाहिए ... यह एक वास्तविक दर्द है;) मैं प्रोजेक्ट मैनेजर विंडो का उपयोग करके नए फ़ोल्डर में अपनी इकाइयों को लपेटने और छोड़ने में सक्षम होने की उम्मीद कर रहा था। – TridenT

+0

मैं इस उत्तर को स्वीकार करूंगा क्योंकि यह मेरे लिए काम करता है और यह आईडीई का उपयोग कर रहा है। अन्य डेवलपर्स सीधे परियोजना फाइलों को हैक करना चाहते हैं ... और मैं समझ सकता हूं :) – TridenT

2

केवल दूसरा विकल्प। TotalCommander, Windows Explorer आदि का उपयोग कर नए निर्देशिका करने के लिए फ़ाइलों को स्थानांतरित मुझे लगता है कि अपने स्रोत लेआउट तरह दिखना चाहिए:

myutils 
libs 
    crypto 
    database 
    network 

और फिर उन निर्देशिकाओं जोड़ें:

myutils;libs\crypto;libs\database;libs\network 

करने के लिए अपने Unit Search Path

+1

मेरी टिप्पणियों को मेंढक पर देखें, मैं अपनी स्वामित्व वाली इकाइयों के लिए खोज पथ का उपयोग नहीं करना पसंद करता हूं। – TridenT

4

आप क्या वास्तव में परियोजना में नामित सभी 100+ इकाइयों की आवश्यकता है? उनमें से कुछ सामान्य कार्य नहीं हैं जिन्हें खोज पथ पर किसी फ़ोल्डर में रखा जा सकता है? परियोजना से सभी कम अक्सर आवश्यक इकाइयों को हटाएं और उन्हें अपने तर्क के अनुरूप फ़ोल्डर्स में रखें। आईडीई उन्हें पायेगा, और जब आप किसी निश्चित पथ के साथ प्रोजेक्ट में नामित किए बिना, आईडीई में उन्हें खोलने पर भी राइट-क्लिक कर सकते हैं।

+0

मैं परियोजनाओं के लिए स्वयं निहित होने का प्रयास करता हूं, जिससे विकास को किसी अन्य मशीन/उपयोगकर्ता को स्थानांतरित करना आसान हो जाता है, और स्वचालित बिल्ड चलाया जाता है। –

+1

मैं * .dpr और * .dproj हैकिंग नहीं करना पसंद करूंगा। मैं यूनिट परीक्षण और टेस्ट कवरेज आंकड़ों के साथ निरंतर एकीकरण का उपयोग कर रहा हूं, ऐसे उपकरण इकाइयों को इकट्ठा करने के लिए * .dpr फ़ाइल को पार्स करते हैं! – TridenT

+0

बस अपनी परियोजना में सापेक्ष खोज पथ जोड़ें। इस तरह से जहां भी आपकी परियोजना जाती है वहां पथ जाते हैं। – norgepaul

4

सबसे आसान तरीका है: फ़ोल्डरों जहाँ आप उन्हें होना चाहते हैं के लिए

  1. कॉपी प्रोजेक्ट फ़ाइलें;
  2. सभी in .. को हटाने के लिए प्रोजेक्ट * .dpr फ़ाइल संपादित करें;
  3. परियोजना विकल्प संपादित करें और पथ विकल्प खोजने के लिए प्रोजेक्ट फ़ोल्डर्स में पथ जोड़ें (वैश्विक आईडीई डिफ़ॉल्ट प्रोजेक्ट विकल्प नहीं, बल्कि आपके प्रोजेक्ट के विकल्प)।
संबंधित मुद्दे