2012-09-27 19 views
13

Ho avviato un prototipo con Delphi con tutti i file di origine in un'unica directory.
Ora, voglio riorganizzare tutto con le cartelle.Come riorganizzare la struttura delle cartelle delle mie unità in Delphi?

Ho trovato due modi per farlo.

1/Primo è aprire ciascuna unità in Delphi IDE e Save as nella nuova cartella. Quindi eliminare il vecchio file di unità.

2/In Windows Explorer, riorganizzare tutto, quindi aprire il progetto in IDE Delphi, rimuovere il riferimento a unità vecchie (sconosciute) e quindi aggiungere ciascuna cartella unità per cartella.

Come ho 100+ unità, è davvero doloroso, qualunque metodo io uso (1 o 2).
Come stai procedendo a tale riorganizzazione? Mi sono perso una funzione?

+2

Il più veloce sarebbe, credo, spostare i file e modificare ogni .dpr manualmente quando l'IDE viene chiuso. –

+1

Sono d'accordo con @sertac: questo è il tipo di attività che si svolge al meglio fuori dall'IDE. Una volta riorganizzate le unità, entrate in una finestra di comando e inserite _dir/s/b * .pas> units.txt_ dalla radice della vostra directory sorgente. Questo ti darà un file _units.txt_ contenente il nuovo percorso alla tua unità. Usalo per modificare i tuoi file DPR. –

+1

@KeithMiller non dimenticare che anche i file '.dproj' devono essere regolati, il che può essere un dolore reale. @uweRaabe ha una soluzione molto migliore. –

risposta

14

Non ho controllato per XE, ma in XE2 questo è abbastanza facile da fare all'interno dell'IDE:

  • in caso di più progetti hanno tutti i progetti in gruppo un progetto
  • nel responsabile di progetto per ogni unità do
    • rinomina l'unità premendo F2 o usare il menu contestuale
    • mentre rinomina posto sottocartella davanti al nome dell'unità (ad esempio test \ Unit1.pas)

L'IDE si sposta l'unità (rimuovendo il vecchio) e promuovere questo cambiamento a tutti i progetti del gruppo di progetto.

+2

Questo è il modo corretto per farlo. L'IDE farà tutto il lavoro per te. –

+4

Questo funziona per me in DelphiXE. Ma devo farlo una unità alla volta ... questo è un vero dolore;) Speravo di essere in grado di drappare e rilasciare le mie unità nella nuova cartella, usando la finestra Project Manager. – TridenT

+0

Approverò questa risposta poiché questo funziona per me e questo sta usando l'IDE. Altri sviluppatori potrebbero voler hackerare direttamente i file di progetto ... e posso capire :) – TridenT

2

Solo seconda opzione. Spostare i file in nuove directory che utilizzano TotalCommander, Esplora risorse di Windows ecc Penso che il vostro layout di origine dovrebbe essere simile:

myutils 
libs 
    crypto 
    database 
    network 

e quindi aggiungere queste directory:

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

al tuo Unit Search Path

+1

Vedere i miei commenti su frogb, preferisco non usare il percorso di ricerca per le mie unità di proprietà. – TridenT

4

Do you servono davvero tutte le oltre 100 unità da nominare nel progetto? Non sono alcune di queste semplici funzioni che potrebbero essere inserite in una cartella sul percorso di ricerca? Elimina tutte le unità meno frequentemente necessarie dal progetto e inseriscile in cartelle in base alla tua logica. L'IDE li troverà, e puoi anche fare clic con il tasto destro del mouse per aprirli nell'IDE quando ne hai bisogno, senza che vengano nominati nel progetto con un percorso fisso.

+0

Mi sforzo di rendere i progetti autosufficienti, semplificando il trasferimento dello sviluppo a un altro computer/utente e eseguendo build automatizzati. –

+1

Preferirei non hackerare * .dpr e * .dproj. Sto usando l'integrazione continua con test di unità e statistiche di copertura del test, tali strumenti analizzano il file * .dpr per raccogliere le unità! – TridenT

+0

Basta aggiungere i percorsi di ricerca relativi al progetto. In questo modo i percorsi vanno dove va il tuo progetto. – norgepaul

4

Il modo più semplice è:

  1. file di progetto Copiare le cartelle in cui si desidera che siano;
  2. Modifica progetto * .dpr file per rimuovere tutto in ..;
  3. Modifica le opzioni del progetto e aggiungi percorsi alle cartelle del progetto per l'opzione del percorso di ricerca (non le opzioni globali del progetto IDE predefinito, ma le opzioni del tuo progetto).