Как реорганизовать структуру папок моих подразделений в Delphi?
Я начал прототип с Delphi с всеми исходными файлами в одном каталоге.
Теперь я хочу реорганизовать все с папками.
Я нашел два способа сделать это.
1/Сначала нужно открыть каждый блок в среде Delphi IDE и Save as
в новой папке. Затем удалите старый файл.
2/В окне проводника Windows реорганизуйте все, затем откройте проект в среде Delphi, удалите ссылку на старые (неизвестные) единицы, а затем добавьте каждую папку по папке.
Поскольку у меня есть более 100 единиц, это действительно больно, независимо от метода, который я использую (1 или 2).
Как вы делаете такую реорганизацию?
Я пропустил функцию?
Ответы
Ответ 1
Я не проверял XE, но в XE2 это довольно легко сделать внутри IDE:
- в случае нескольких проектов есть все проекты в одной группе проектов
- в менеджере проектов для каждого подразделения
- переименуйте устройство, нажав F2 или используя контекстное меню
- при переименовании место подпапки перед именем юнита (например, test\Unit1.pas)
IDE переместит устройство (удаление старого) и продвинет это изменение ко всем проектам в группе проектов.
Ответ 2
Вам действительно нужно, чтобы все 100 единиц были названы в проекте? Не являются ли некоторые из них просто общими функциями, которые могут быть помещены в папку на пути поиска? Удалите все менее часто используемые единицы из проекта и поместите их в папки в соответствии с вашей логикой. IDE найдет их, и вы также можете щелкнуть их правой кнопкой мыши, открыв их в среде IDE, когда вам это нужно, без их имени в проекте с фиксированным путем.
Ответ 3
Самый простой способ:
- Скопируйте файлы проекта в папки, в которых вы хотите:
- Отредактируйте проект *.dpr, чтобы удалить все
in ..
;
- Отредактируйте параметры проекта и добавьте пути к папкам проекта в путь поиска (не глобальные параметры проекта по умолчанию IDE, но ваши параметры проекта).
Ответ 4
Только второй вариант. Переместите файлы в новые каталоги с помощью TotalCommander, Windows Explorer и т.д. Я думаю, что ваш исходный макет должен выглядеть так:
myutils
libs
crypto
database
network
а затем добавьте эти каталоги:
myutils;libs\crypto;libs\database;libs\network
на Unit Search Path