2012-09-27 8 views
13

私はのソースファイルをすべて1つのディレクトリでDelphiで試作しました。
今、私はにフォルダですべてを再構成したいと思います。デルファイで私のユニットのフォルダ構造をどのように再編成するのですか?

これを行うには2通りの方法があります。

1 /最初は、Delphi IDEで各ユニットを開き、Save as新しいフォルダを開きます。その後、古いユニットファイルを削除します。

2/Windowsエクスプローラの下ですべてを再構成し、Delphi IDEでプロジェクトを開き、古い(不明な)単位への参照を削除して、各単位フォルダをフォルダごとに追加します。

私は100以上のユニットを持っているので、どのような方法(1または2)を使用しても、本当に痛いです。
どのようにこのような再編成を行っていますか? 機能がありませんでしたか?

+2

Fastestは、IDEを閉じたときにファイルを移動し、各.dprを手動で編集することです。 –

+1

私は@sertacに同意します - これはIDEの外で最もよく行われる活動です。ユニットをコマンドウィンドウに再配置したら、ソースディレクトリのルートから_dir/s/b * .pas> units.txt_と入力します。これはユニットへの新しいパスを含むファイル_units.txt_を与えます。これを使用してDPRファイルを編集します。 –

+1

@KeithMillerは '.dproj'ファイルも調整する必要があることを忘れないでください。これは王様の苦痛になります。 @uweRaabeはもっと良い解決策を持っています。 –

答えて

14

私はXEをチェックしませんでしたが、XE2では、これはIDE内で行うことは非常に簡単です:複数のプロジェクトの場合は

  • は、1つのプロジェクトグループ
  • 内のすべてのプロジェクトを持っています各ユニットのためのプロジェクトマネージャーが
    • はF2を押して、ユニットの名前を変更するか、ユニット名の前に場所にサブフォルダの名前を変更しながら、コンテキストメニュー
    • を使用してください(例:テスト\ Unit1.pas)

IDEは(古いものを削除)ユニットを移動させ、プロジェクトグループ内のすべてのプロジェクトにこの変更を推進していきます。

+2

これは正しい方法です。 IDEがあなたのためにすべての作業を行います。 –

+4

これはDelphiXEで私にとってはうまくいきます。しかし、私はそれを一度に1つのユニットにする必要があります...これは本当の苦痛です;)私は、プロジェクトマネージャーウィンドウを使用して、新しいフォルダに私のユニットをドレープ&ドロップできることを望んでいました。 – TridenT

+0

私はこれがうまくいくので、この答えを承認します。これはIDEを使用しています。他の開発者がプロ​​ジェクトファイルを直接ハックしたいと思うかもしれません。私は理解できます:) – TridenT

2

2番目のオプションのみ。

myutils 
libs 
    crypto 
    database 
    network 

して、それらのディレクトリを追加します:私はあなたの元のレイアウトがどのように見えるべきだと思いますTotalCommander、Windowsのエクスプローラなどを使用して、新しいディレクトリにファイルを移動し、あなたのUnit Search Path

+1

frogbへの私のコメントを参照してください、私は私の所有するユニットの検索パスを使用しないことを好む。 – TridenT

4

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

はあなたを行いますプロジェクトには10​​0以上のユニットすべてに名前を付ける必要がありますか?それらのうちのいくつかは、検索パス上のフォルダに置かれる一般的な関数ではありませんか?それほど頻繁に必要なユニットをすべてプロジェクトから削除し、あなたのロジックに合うようにフォルダに配置します。 IDEはそれらを見つけ出します。必要に応じてIDEで右クリックして、固定パスのプロジェクトで名前を付けずに右クリックして開くこともできます。

+0

私はプロジェクトが自己完結型であるように努力しているので、開発を別のマシン/ユーザーに移すのが簡単になり、自動ビルドを実行できます。 –

+1

私は* .dprと* .dprojをハックしたくないと思います。 ユニットテストとカバレッジ統計の連続的な統合を使用しています。このツールは* .dprファイルを解析してユニットを収集します! – TridenT

+0

プロジェクトに相対検索パスを追加するだけです。そうすれば、あなたのプロジェクトがどこに行くにしてもパスが移動します。 – norgepaul

4

最も簡単な方法は次のとおりです。あなたがそれらになりたいフォルダへ

  1. コピープロジェクトファイル。
  2. プロジェクト* .dprファイルを編集してすべてを削除しますin ..;
  3. プロジェクトオプションを編集し、プロジェクトフォルダのパスを検索パスオプションに追加します(グローバルIDEのデフォルトプロジェクトオプションではなくプロジェクトのオプション)。
関連する問題