?? dirmanager.h
字號:
#ifndef _DIRMANAGER_H
#define _DIRMANAGER_H
#include "jwfcx.h"
//本類返回的路徑為 D:\XXX\XXX\ 的格式
class JWX_EXT_CLASS CDirManager
{
public:
CDirManager();
~CDirManager();
BOOL ListFile( const char * pathName, CStringArray & result, BOOL isFindFile );
//設置當前的工作路徑
void SetCurrentWorkPath( const char * path )
{
m_currentWorkPath = path;
};
//下面兩個函數找不文件、目錄或出錯時返回FALSE
//按filter指定的模式搜索當前工作路徑下的目錄(不含子目錄)
BOOL ListDir( const char * filter, CStringArray & result );
//按filter指定的模式搜索當前工作路徑下的文件
BOOL ListFile( const char * filter, CStringArray & result );
//按filter指定的模式搜索目錄樹
// BOOL ListTree( const char * filter, CStringArray & result );
//刪除目錄樹
static BOOL DeleteTree( const char * dirName );
//刪除文件(可刪除只讀文件,可使用通配符)
static long DeleteFile( const char * fileName );
//合成帶路徑的文件名,第二個版本使用m_currentWorkPath來作為路徑
static BOOL PASCAL MakePathName( const char * path, const char * name, CString & pathName );
BOOL MakePathName( char const * name, CString & pathName );
static BOOL GetTempPath( CString & tempPath );
static BOOL GetSystemPath( CString & sysPath );
//用標準瀏覽窗口取得一個有效的路徑
static BOOL GetPathByBrowse( CString & path, const char * prompt = NULL );
//用CFileDialog取得多個文件的文件名列表,若每個文件名20BYTE,則可取得200個,若要更多,請指定fBufSize
static BOOL GetMultiOpenFile( char const * initPathName, char const * type, CStringArray & openFileList, long fBufSize = 4096 );
//取得本程序所在目錄,如果指定了debugPath且為DEBUG模式,則返回FALSE
static BOOL GetRootPath( CString & rootPath, const char * debugPath = NULL );
//調用::_splitpath()分解下傳的全路徑名,
/*
例如d:\testpath\testname.ext將被分解為
drv =d:
path = \testpath\
name = testname
extName = .ext
*/
//分解全路徑名
static BOOL SplitPathName( const char * pathName, CString & drv, CString & path, CString & name, CString & extName );
//當下傳的pathName無路徑時,取得當前目錄并返回
static BOOL GetPathFromPathName( char const * pathName, CString & path );
//取得下傳全文件名的文件名,下傳參數可帶路徑
static BOOL GetNameFromPathName( const char * pathName, CString & name );
//取得下傳文件名的主文件名,下傳參數可帶路徑
static BOOL GetMajorNameFromPathName( const char * pathName, CString & name );
//取得下傳文件名的擴展名,下傳參數可帶路徑(若為空則返回FALSE)
static BOOL GetExtNameFromPathName( const char * pathName, CString & extName );
//修改下傳文件名的擴展名為指定擴展名
static BOOL SetExtName( CString & fileName, const char * extName );
//CheckPath 檢驗路徑的有效性,當路徑不存在且m_prompt為TRUE時提問是否創建
//路徑有效或成功創建時均反回TRUE
//此函數保證path為x:\xxx\xxx\xxx\的結構
BOOL CheckPath( CString & path );
//與上一個函數相似,但此參數中帶有一個文件名
BOOL CheckPathHaveFile( CString & pathFile );
void SetCheckPrompt( BOOL prompt = TRUE )
{
m_prompt = prompt;
};
//測試所給目錄或文件是否存在
static BOOL IsExist( char const * path );
protected:
//取得m_tailString中的第一個目錄單元
BOOL GetNextSubdir( CString & subdir );
//初始化輸入的目錄路徑,使之符合x:xxx\xxx的格式
BOOL InitPath( CString path );
//創建目錄路徑,成功時返回TRUE
BOOL CreateDirectory( char const * path );
protected:
CString m_tailString;
CString m_path;
BOOL m_prompt;
protected:
CString m_currentWorkPath;//指明當前的工作路徑
};
#endif
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -