📄 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 + -