|
||
解説: 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; } //------------------------------------------------------------------- |