• 大小: 54KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-18
  • 语言: C/C++
  • 标签: LZW  数据压缩  源码  

资源简介

多媒体数据压缩算法LZW算法源码,VC++环境实现,可对图片、文档等进行压缩

资源截图

代码片段和文件信息

// decodedl.cpp : implementation file
//

#include “stdafx.h“
#include “tlzw.h“
#include “decodedl.h“     
#include “lzwtable.h“
#include “lzwcode.h“
#include “lzwfile.h“
#include “batchdlg.h“

#ifdef _DEBUG
#undef THIS_FILE
static char baseD_CODE THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CDecodeDlg dialog


CDecodeDlg::CDecodeDlg(CWnd* pParent /*=NULL*/)
: CDialog(CDecodeDlg::IDD pParent)
{
//{{AFX_DATA_INIT(CDecodeDlg)
m_szDirName = ““;
m_szHGLZName = ““;
//}}AFX_DATA_INIT
}

void CDecodeDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CDecodeDlg)
DDX_Control(pDX IDC_ALL_FILES m_listFiles);
DDX_Text(pDX IDC_DIR_NAME m_szDirName);
DDX_Text(pDX IDC_HGLZ_NAME m_szHGLZName);
//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CDecodeDlg CDialog)
//{{AFX_MSG_MAP(CDecodeDlg)
ON_BN_CLICKED(IDC_SEL_HGLZ OnSelHglz)
ON_BN_CLICKED(IDC_DECOMPRESS OnDecompress)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()


/////////////////////////////////////////////////////////////////////////////
// CDecodeDlg message handlers

void CDecodeDlg::OnSelHglz()
{
CString szF(“HGLZ Files (*.HLZ) | *.HLZ ||“);
CFileDialog dlg(TRUENULLNULLOFN_HIDEREADONLY | OFN_OVERWRITEPROMPTszF);
if(dlg.DoModal()==IDOK)
{
CString szOut=dlg.GetPathName();
m_szHGLZName=szOut;
UpdateData(FALSE);
}
else
return;
CStringArray array;
m_listFiles.ResetContent();
if(LZWParseFileHead(m_szHGLZNamearray))
{
for(int i=0;i {
CString szName=array.GetAt(i);
m_listFiles.AddString(szName);
}
}
array.RemoveAll();

}

void CDecodeDlg::OnDecompress()
{
UpdateData();
if(m_szHGLZName.GetLength()==0)
{
AfxMessageBox(“file name invalid“);
return;
}
int iSelCount=m_listFiles.GetSelCount();
if(LB_ERR==iSelCount || 0==iSelCount)
return;
int *piSel=new int[iSelCount];
if(LB_ERR==m_listFiles.GetSelItems(iSelCountpiSel))
return;
CBatchDlg dlg(m_szHGLZNamem_szDirNamepiSeliSelCount);
dlg.DoModal();
delete piSel;
/* for(int i=0;i {
LZWDecodeFileOnPosition(m_szHGLZNamem_szDirName(DWORD)piSel[i]NULL);
}
AfxMessageBox(“end decompress“);
*/
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

    ..AD...         0  1998-12-30 17:03  15040311351\Release

     文件      43152  1998-12-30 17:32  15040311351\Tlzw.aps

     文件      12985  1998-01-19 21:18  15040311351\hglz.bak

     文件       2007  1998-01-16 09:56  15040311351\TRY.C

     文件       3400  1998-12-30 17:32  15040311351\Tlzw.clw

     文件       5122  1998-01-19 08:42  15040311351\BATCHDLG.CPP

     文件       2331  1998-06-02 10:31  15040311351\Decodedl.cpp

     文件       6143  1998-01-15 20:59  15040311351\ENLZW.CPP

     文件       9247  1998-03-30 08:54  15040311351\Lzwcode.cpp

     文件      16565  1998-01-19 08:59  15040311351\LZWFILE.CPP

     文件       4404  1998-01-16 18:15  15040311351\LZWTABLE.CPP

     文件       1117  1998-01-16 23:38  15040311351\MAINFRM.CPP

     文件       2990  1998-06-02 10:31  15040311351\Singledl.cpp

     文件        204  1998-01-13 20:24  15040311351\STDAFX.CPP

     文件       3309  1998-01-13 20:24  15040311351\TLZW.CPP

     文件       1684  1998-01-13 20:24  15040311351\TLZWDOC.CPP

     文件       2149  1998-01-18 11:25  15040311351\TLZWVIEW.CPP

     文件        218  1998-12-30 17:07  15040311351\Tlzw.def

     文件       5332  1998-12-30 17:12  15040311351\hglz.dsp

     文件        531  1998-03-30 12:13  15040311351\hglz.dsw

     文件       1280  1998-01-18 11:38  15040311351\BATCHDLG.H

     文件        691  1998-01-18 09:59  15040311351\DECODEDL.H

     文件       3563  1998-01-16 18:25  15040311351\LZWCODE.H

     文件       2854  1998-01-18 11:14  15040311351\LZWFILE.H

     文件       1569  1998-01-14 15:41  15040311351\LZWTABLE.H

     文件        679  1998-01-16 23:37  15040311351\MAINFRM.H

     文件       1535  1998-01-18 15:25  15040311351\RESOURCE.H

     文件        764  1998-01-18 08:43  15040311351\SINGLEDL.H

     文件        299  1998-01-13 20:24  15040311351\STDAFX.H

     文件        805  1998-01-13 20:24  15040311351\TLZW.H

............此处省略21个文件信息

评论

共有 条评论