vmzipper.h
来自「TOOL (Tiny Object Oriented Language) is 」· C头文件 代码 · 共 50 行
H
50 行
#ifndef VM_ZIPPER_H_INCLUDED
#define VM_ZIPPER_H_INCLUDED
#if _MSC_VER > 1000
#pragma once
#endif
struct VMZipFileInfo// Z_FileInfo
{
int nFileCount;
int nFolderCount;
DWORD dwUncompressedSize;
};
class VMZipper
{
public:
VMZipper(LPCTSTR szFilePath = NULL, LPCTSTR szRootFolder = NULL, bool bAppend = FALSE);
virtual ~VMZipper();
// simple interface
static bool ZipFile(LPCTSTR szFilePath); // saves as same name with .zip
static bool ZipFolder(LPCTSTR szFilePath, bool bIgnoreFilePath); // saves as same name with .zip
// works with prior opened zip
bool AddFileToZip(LPCTSTR szFilePath, bool bIgnoreFilePath = FALSE);
bool AddFileToZip(LPCTSTR szFilePath, LPCTSTR szRelFolderPath); // replaces path info from szFilePath with szFolder
bool AddFolderToZip(LPCTSTR szFolderPath, bool bIgnoreFilePath = FALSE);
// extended interface
bool OpenZip(LPCTSTR szFilePath, LPCTSTR szRootFolder = NULL, bool bAppend = FALSE);
bool CloseZip(); // for multiple reuse
void GetFileInfo(VMZipFileInfo& info);
protected:
void* m_uzFile;
char m_szRootFolder[MAX_PATH + 1];
VMZipFileInfo m_info;
protected:
void PrepareSourcePath(LPTSTR szPath);
bool GetLastModified(const char* szPath, SYSTEMTIME& sysTime);
void UnterminatePath(LPTSTR szPath);
void PrepareZipPath(LPTSTR szPath);
};
#endif // !defined(AFX_ZIPPER_H__4249275D_B50B_4AAE_8715_B706D1CA0F2F__INCLUDED_)
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?