2012-09-27 33 views
13

Comencé un prototipo con Delphi con todos los archivos fuente en un solo directorio.
Ahora, quiero reorganizar todo con las carpetas.¿Cómo reorganizar la estructura de carpetas de mis unidades en Delphi?

Encontré dos formas de hacerlo.

1/Primero es abrir cada unidad en Delphi IDE y Save as la nueva carpeta. Luego borre el archivo de la unidad anterior.

2/En Windows Explorer, reorganice todo, luego abra el proyecto en Delphi IDE, elimine la referencia a unidades antiguas (desconocidas) y luego agregue las carpetas de cada unidad por carpeta.

Como tengo más de 100 unidades, es realmente doloroso, sea cual sea el método que uso (1 o 2).
¿Cómo está usted haciendo tal reorganización? ¿Extraño una función?

+2

Lo más rápido sería, supongo, mover sus archivos y editar cada .dpr manualmente cuando se cierra el IDE. –

+1

Estoy de acuerdo con @sertac: este es el tipo de actividad que se realiza mejor fuera del IDE. Una vez que haya reorganizado sus unidades, ingrese en una ventana de comandos e ingrese _dir/s/b * .pas> units.txt_ desde la raíz de su directorio de origen. Esto le dará un archivo _units.txt_ que contiene la nueva ruta a su unidad. Use esto para editar sus archivos DPR. –

+1

@KeithMiller no olvide que los archivos '.dproj' también deben ajustarse, lo que puede ser un dolor real. @uweRaabe tiene una solución mucho mejor. –

Respuesta

14

no me registro para la XE, pero en XE2 Esto es bastante fácil de hacer dentro del IDE:

  • en caso de múltiples proyectos tienen todos los proyectos en grupo de un proyecto
  • en el director del proyecto para cada unidad do
    • cambiar el nombre de la unidad pulsando F2 o usar el menú contextual
    • al cambiar el nombre de la subcarpeta lugar delante del nombre de la unidad (por ejemplo, prueba \ Unit1.pas)

El IDE se moverá la unidad (eliminando el viejo) y promover este cambio a todos los proyectos en el grupo del proyecto.

+2

Esta es la forma correcta de hacerlo. El IDE hará todo el trabajo por ti. –

+4

Esto funciona para mí en DelphiXE. Pero debo hacerlo una unidad a la vez ... esto es un verdadero dolor;) Esperaba poder drapear y soltar mis unidades en la nueva carpeta, usando la ventana Project Manager. – TridenT

+0

Aprobaré esta respuesta ya que esto funciona para mí y esto es usando el IDE. Otros desarrolladores pueden querer piratear directamente los archivos del proyecto ... y puedo entender :) – TridenT

2

Solo segunda opción. Mover archivos a los nuevos directorios usando TotalCommander, el Explorador de Windows, etc. Creo que su diseño fuente debe ser similar:

myutils 
libs 
    crypto 
    database 
    network 

y luego añadir los directorios:

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

a su Unit Search Path

+1

Ver mis comentarios a frogb, prefiero no utilizar la ruta de búsqueda de mis unidades propias. – TridenT

4

¿Usted realmente necesita que se nombren más de 100 unidades en el proyecto? ¿No son algunas de ellas simplemente funciones comunes que podrían colocarse en una carpeta en la ruta de búsqueda? Elimine todas las unidades del proyecto que se necesiten con menos frecuencia y colóquelas en carpetas para adaptarlas a su lógica. El IDE los encontrará, y también puede hacer clic con el botón derecho en abrirlos en el IDE cuando lo necesite, sin que se los nombre en el proyecto con una ruta fija.

+0

Me esfuerzo para que los proyectos sean autónomos, eso hace que sea mucho más fácil transferir el desarrollo a una máquina/usuario diferente, y ejecutar compilaciones automatizadas. –

+1

Preferiría no hackear el * .dpr y * .dproj. Estoy usando la integración continua con la prueba de unidad y las estadísticas de cobertura de prueba, ¡tales herramientas analizan el archivo * .dpr para juntar unidades! – TridenT

+0

Simplemente agregue las rutas de búsqueda relativas a su proyecto. De esa manera, los caminos van a donde vaya tu proyecto. – norgepaul

4

La forma más sencilla es:

  1. archivos de proyecto de copia a las carpetas en las que desea que sean;
  2. Editar proyecto * .dpr archivo para eliminar todos in ..;
  3. Editar las opciones del proyecto y agregar rutas a las carpetas del proyecto para buscar la opción de ruta (no las opciones del proyecto IDE global, sino las opciones de su proyecto).
Cuestiones relacionadas