ホーム
|
アプリケーション | Tips | ダウンロード | プログラム
| コラム

CBアプリ工房


Tips >   

フォルダを検索(SearchPath) 

更新 : 2010/08/01

 


解説:
Win32API を使って、フォルダの存在を調べてみます。
今回使う関数 SearchPath は、フォルダだけでなくファイルも検索することができます。
いろいろなファイルも探してみるといいでしょう。

ちょっと寄り道:
SearchPath 関数は以下のように定義されています。

DWORD SearchPath(
    LPCTSTR lpPath, // 検索パス
    LPCTSTR lpFileName, // ファイル名
    LPCTSTR lpExtension, // ファイルの拡張子
    DWORD nBufferLength, // バッファのサイズ
    LPTSTR lpBuffer, // 見つかったファイル名を格納するバッファ
    LPTSTR *lpFilePart // ファイルコンポーネント(あまり意味がないようです)
);

使用例:
アプリケーションを起動して、Button1 をクリックしてください。
フォルダが存在すれば Label1 に表示されます。

コンポーネントは、 Button と Label を適当に配置しておしまいです。

Button1 の OnClick イベントで、検索結果のパスを格納する変数 folder とファイルコンポーネントで使う comp 変数を用意します。
検索するパスを pathName にセットして、SearchPath 関数の引数に渡します。
フォルダ名が見つかれば Label1 に表示されます。

//-------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
    char folder[128];
    char *comp;

    AnsiString pathName = "C:\\";

    if (SearchPath(pathName.c_str(), "temp", NULL, sizeof(folder), folder, &comp))
        Label1->Caption = folder;
}
//-------------------------------------------------------------------



[ ホーム | ページトップ | ブック | リンク | サイトマップ ]
Copyright(c) 2003 Shibu All rights reserved.