InfoZip.h
上传用户:zhanglf88
上传日期:2013-11-19
资源大小:6036k
文件大小:2k
源码类别:

金融证券系统

开发平台:

Visual C++

  1. // InfoZip.h: interface for the CInfoZip class.
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #if !defined(AFX_INFOZIP_H__A5C325B4_180B_11D3_ABD5_00A0C9B4D8AB__INCLUDED_)
  5. #define AFX_INFOZIP_H__A5C325B4_180B_11D3_ABD5_00A0C9B4D8AB__INCLUDED_
  6. #if _MSC_VER >= 1000
  7. #pragma once
  8. #endif // _MSC_VER >= 1000
  9. #include "ZipDll.h"
  10. #include "UnzipDll.h"
  11. #define ZERROR_NONE                    0
  12. #define ZERROR_DLL_NOT_FOUND           1
  13. #define ZERROR_DLL_FOUNCTION_NOT_FOUND 2
  14. #define ZERROR_NOT_INITIALIZED         3
  15. /***
  16. Zip文件压缩解压缩
  17. 压缩使用例子:
  18. char ** paFiles = ...;
  19. int nCount  = 10;
  20. CInfoZip InfoZip;
  21. if( InfoZip.InitializeZip() )
  22. {
  23. SetCurrentDirectory( "/Temp" );
  24. BOOL bZipOK = InfoZip.AddFiles( "base.zip", paFiles, nCount );
  25. InfoZip.FinalizeZip();
  26. }
  27. 解压缩使用例子:
  28. char zipfilename[] = ...;
  29. CString sTempNewDir = ...;
  30. CInfoZip InfoZip;
  31. if (InfoZip.InitializeUnzip())
  32. {
  33. InfoZip.ExtractFiles(zipfilename, sTempNewDir);
  34. InfoZip.FinalizeUnzip();
  35. }
  36. */
  37. class STKNET_API CInfoZip  
  38. {
  39. public:
  40. BOOL ExtractFiles(const char* pszArchive, const char* pszTargetFolder);
  41. void SetDefaultValues(CUnzipParams *pParams);
  42. void ReleaseParams(CUnzipParams *pParams);
  43. BOOL Execute(CUnzipParams *pParams);
  44. BOOL FinalizeUnzip();
  45. BOOL FinalizeZip();
  46. BOOL InitializeUnzip();
  47. BOOL InitializeZip();
  48. BOOL GetInitializedUnzip();
  49. BOOL GetInitializedZip();
  50. void ReleaseParams(CZipParams *pParams);
  51. BOOL AddFiles(const char *pszArchive, char **paFiles, int iFileCount);
  52. BOOL Execute(CZipParams *pParams);
  53. void SetDefaultValues(CZipParams *pZipParms);
  54. BOOL Finalize();
  55. BOOL GetInitialized();
  56. BOOL Initialize();
  57. UINT GetLastError();
  58. int GetZipDllVersion();
  59. int GetUnzipDllVersion();
  60. CInfoZip();
  61. virtual ~CInfoZip();
  62. private:
  63. void SetLastError(UINT uiError);
  64. UINT m_uiLastError;
  65. HINSTANCE m_ZipDllHandle;
  66. HINSTANCE m_UnzipDllHandle;
  67. CZipDllExec m_ZipDllExec;
  68. CUnzipDllExec m_UnzipDllExec;
  69. CGetZipDllVersion   m_GetZipDllVersion;
  70. CGetUnzipDllVersion m_GetUnzipDllVersion;
  71. };
  72. BOOL __stdcall DefaultZipCallback(CZipCallbackData *pData);
  73. #endif // !defined(AFX_INFOZIP_H__A5C325B4_180B_11D3_ABD5_00A0C9B4D8AB__INCLUDED_)