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

📄 compressdoc.h

📁 所有压缩格式的压缩解压缩。
💻 H
字号:
// CompressDoc.h: interface for the CCompressDoc class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_COMPRESSDOC_H__F83DDB14_5581_4545_A886_99D1A45D8D12__INCLUDED_)
#define AFX_COMPRESSDOC_H__F83DDB14_5581_4545_A886_99D1A45D8D12__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "../public/codecdll.h"
#include "libmanager.h"
#include "fileindexlist.h"

class CCompressDoc
{
public:
	CCompressDoc(CLibManager *lpLibmgr);
	virtual ~CCompressDoc();

	//libIndex 指定文件的压缩/解压处理库,-1表示自动根据文件扩大展名选定库
	BOOL New(LPCTSTR lpszFileName,int libIndex=-1)
		{return OpenFile(lpszFileName,CDL_FILE_CREATE,libIndex);}
	BOOL Open(LPCTSTR lpszFileName,int libIndex=-1)
		{return OpenFile(lpszFileName,CDL_FILE_OPEN,libIndex);}
	void Close();
	BOOL IsClosed() {return !m_hFile;}

	enum {absolute,relative,nofolder};//绝对路径、相对路径及无路径
	// iLevel 设定压缩方法
	BOOL AddFiles(int mode,const CStringArray &Files,const CString &DestPos,int iLevel);
	BOOL AddFolders(int mode,const CStringArray &Folders,const CString &DestPos,int iLevel);

	BOOL DeleteFiles(CWordArray&);
	BOOL DeleteFolders(CStringArray &Folders);

	BOOL ExtractFiles(CWordArray&,CString &lpszPath);
	BOOL ExtractFolders(CStringArray &Folders,CString &lpszPath);

	FILEINDEXLISTNODE *GetFileListRoot(){return m_FileList.root;}

	CString GetComment(int nIndex);
	void SetComment(int nIndex,LPCTSTR lpszComment);
public:
	//压缩/解压缩处理函数指针
	FUNCTIONINFO m_FnInfo;
	CString m_lpszFileName;
private:
	HCXFILE m_hFile;		//打开的文件

	BOOL OpenFile(LPCTSTR lpszFileName,int mode,int libIndex);
	void ReloadFileList();

	void FindFile(LPCTSTR lpszName,CWordArray&);

	BOOL addFiles(int mode,const CStringArray &Files,const CString &DestPos,int iLevel);
	BOOL addFolders(int mode,const CStringArray &Folders,const CString &DestPos,int iLevel);

protected:
	CLibManager *m_lpLibmgr;
	int m_LibIndex;				//压缩/解压处理库的索引
	FILEINDEXLIST m_FileList;
};

#endif // !defined(AFX_COMPRESSDOC_H__F83DDB14_5581_4545_A886_99D1A45D8D12__INCLUDED_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -