⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dirmanager.h

📁 通过手机数据线连接手机
💻 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 + -