|
Delphi Programming / Object Pascal

[掲載 2014年07月03日] [更新 2014年07月03日] Delphi 一般・その他 |
| IDE からの文字列の検索 |
| 動作確認等 |
Windows 7 U64(SP1) + Delphi XE(UP1) Pro |
| 01_IDE から文字列を検索 ( 未定義の識別子の検索にも利用可能 ) |
例えばコード内の EIdHTTPProtocolException で未定義の識別子のエラーが発生したとします。
これが、自分自身が定義したものではないとします。Delphi のどこかのユニットで定義されているものとします。
コード補完機能を利用すれば、このようなエラーの発生をあらかじめ防止できることがあります。
ネット上のコードをコピーしたとか、他のユニットのコードからコピーした場合に発生するかも知れません。
このような場合も含めて、指定のディレクトリのファイル内を、IDE から検索する方法です。
まず、メニューの [検索] から [ファイル検索] を選択します。 |
 |
図1
|
下図のダイアログが現れます。ここで、検索する文字列、検索するディレクトリを設定します。
設定したら [OK] ボタンをクリックします。
検索文字列には、正規表現も使用できます。
検索対象のディレクトリは複数指定できます。[ディレクトリ] の右側の 2 つのアイコン内、右側のアイコンをクリックして設定します。 |
 |
図2
|
 |
図3
|
検索が終了すると、メッセージのペインに一覧が表示されます。
EIdHTTPProtocolException が IdHTTP.pas で定義されていることが分かります。
したがって、EIdHTTPProtocolException を使用するには、uses に IdHTTP を追加すれば利用できることになります。当然ですが、uses するユニットにはパスが通っている必要があります。また、対象の定数名等は、interface 部になけれぱ利用できません。更に、コンポーネント (クラス) のメンバーの場合は、アクセス可能な public 部や published 部にないと未定義のエラーになります。
該当するメッセージ部分をダブルクリックすると、そのユニットが表示されます。
多くのテキストエディタには、このような検索機能が実装されています。筆者は検索用プログラムを自作して、主にそれを使用しています。
もし、ディスク内を全て検索しても見つからなければ、ネット上で検索することになります。それでも見つからない場合は...、筆者には分かりません。
もちろん、検索対象の Delphi のバージョンに実装されていない定数名、コンポーネント名、クラス名、プロパティ名、メソッド名、関数名、レコード型等の名前は見つかりません。 |
 |
図4
|
|