亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? 數(shù)據(jù)壓縮dlg.cpp

?? 自己做的作業(yè)(自適應(yīng)霍夫曼解壓縮) 完成功能解壓縮文件!方法:自適應(yīng)霍夫曼編碼(8bit編碼)(有GUI界面)
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
// 數(shù)據(jù)壓縮Dlg.cpp : implementation file
//

#include "stdafx.h"
#include "數(shù)據(jù)壓縮.h"
#include "數(shù)據(jù)壓縮Dlg.h"
#include "Help.h"

#include"direct.h"
#include"time.h"
#include"math.h"
#include"Winbase.h"
#include"io.h"
 
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
int flag;//工作模式-》壓縮、解壓
/////////////////////////////////////////////////////////////////////////////
// CAboutDlg dialog used for App About

class CAboutDlg : public CDialog
{
public:
	CAboutDlg();

// Dialog Data
	//{{AFX_DATA(CAboutDlg)
	enum { IDD = IDD_ABOUTBOX };
	//}}AFX_DATA

	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CAboutDlg)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:
	//{{AFX_MSG(CAboutDlg)
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
{
	//{{AFX_DATA_INIT(CAboutDlg)
	//}}AFX_DATA_INIT
}

void CAboutDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CAboutDlg)
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
	//{{AFX_MSG_MAP(CAboutDlg)
		// No message handlers
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CMyDlg dialog

CMyDlg::CMyDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CMyDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CMyDlg)
	m_FilePath = _T("");
	//}}AFX_DATA_INIT
	// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
	m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
	workflag = false;//設(shè)置初始狀態(tài)
	jc = 0;
	iFile = 0;
}

void CMyDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CMyDlg)
	DDX_Control(pDX, IDC_T1, m_T1);
	DDX_Control(pDX, IDC_R1, m_R1);
	DDX_Control(pDX, IDC_L2, m_L2);
	DDX_Control(pDX, IDC_L1, m_L1);
	DDX_Control(pDX, IDC_FILELENGTH2, m_FileLength2);
	DDX_Control(pDX, IDC_RATIO, m_Ratio);
	DDX_Control(pDX, IDC_TIME, m_Time);
	DDX_Control(pDX, IDC_MSG, m_Msg);
	DDX_Control(pDX, IDC_PROGRESS1, m_ProgBar);
	DDX_Text(pDX, IDC_FILEPATH, m_FilePath);
	DDX_Control(pDX, IDC_FILELENGTH, m_FileLength);
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CMyDlg, CDialog)
	//{{AFX_MSG_MAP(CMyDlg)
	ON_WM_SYSCOMMAND()
	ON_WM_PAINT()
	ON_WM_QUERYDRAGICON()
	ON_BN_CLICKED(IDC_BTNDIR, OnBtndir)
	ON_BN_CLICKED(IDC_BTNCOMPRESS, OnBtncompress)
	ON_BN_CLICKED(IDC_BTNUNCOMPRESS, OnBtnuncompress)
	ON_WM_TIMER()
	ON_BN_CLICKED(IDC_BTNHELP, OnBtnhelp)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CMyDlg message handlers

BOOL CMyDlg::OnInitDialog()
{
	CDialog::OnInitDialog();

	// Add "About..." menu item to system menu.

	// IDM_ABOUTBOX must be in the system command range.
	ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
	ASSERT(IDM_ABOUTBOX < 0xF000);

	CMenu* pSysMenu = GetSystemMenu(FALSE);
	if (pSysMenu != NULL)
	{
		CString strAboutMenu;
		strAboutMenu.LoadString(IDS_ABOUTBOX);
		if (!strAboutMenu.IsEmpty())
		{
			pSysMenu->AppendMenu(MF_SEPARATOR);
			pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
		}
	}

	// Set the icon for this dialog.  The framework does this automatically
	//  when the application's main window is not a dialog
	SetIcon(m_hIcon, TRUE);			// Set big icon
	SetIcon(m_hIcon, FALSE);		// Set small icon
	
	// TODO: Add extra initialization here
	//初始化碼表
	
	return TRUE;  // return TRUE  unless you set the focus to a control
}

void CMyDlg::OnSysCommand(UINT nID, LPARAM lParam)
{
	if ((nID & 0xFFF0) == IDM_ABOUTBOX)
	{
		CAboutDlg dlgAbout;
		dlgAbout.DoModal();
	}
	else
	{
		CDialog::OnSysCommand(nID, lParam);
	}
}

// If you add a minimize button to your dialog, you will need the code below
//  to draw the icon.  For MFC applications using the document/view model,
//  this is automatically done for you by the framework.

void CMyDlg::OnPaint() 
{
	if (IsIconic())
	{
		CPaintDC dc(this); // device context for painting

		SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);

		// Center icon in client rectangle
		int cxIcon = GetSystemMetrics(SM_CXICON);
		int cyIcon = GetSystemMetrics(SM_CYICON);
		CRect rect;
		GetClientRect(&rect);
		int x = (rect.Width() - cxIcon + 1) / 2;
		int y = (rect.Height() - cyIcon + 1) / 2;

		// Draw the icon
		dc.DrawIcon(x, y, m_hIcon);
	}
	else
	{
		CDialog::OnPaint();
	}
}

// The system calls this to obtain the cursor to display while the user drags
//  the minimized window.
HCURSOR CMyDlg::OnQueryDragIcon()
{
	return (HCURSOR) m_hIcon;
}


void CMyDlg::OnBtndir() 
{//選擇多份文件
	POSITION  pos;
	iFileNum = 0;
	TCHAR* m_pszFile = new TCHAR[4096000]; //set a 2K buffer to hold selected files
	m_pszFile[0] = '\0'; //initialize pointer;
	char filters[] = "All Files (*.*)|*.*|";
	CFileDialog m_filedlg(TRUE, NULL, "*.*",NULL, filters, NULL);
	m_filedlg.m_ofn.Flags = m_filedlg.m_ofn.Flags|OFN_ALLOWMULTISELECT;
	m_filedlg.m_ofn.lpstrFile = m_pszFile; //initialize the OPENFILENAME structure
	m_filedlg.m_ofn.nMaxFile = 4096000;
	if(m_filedlg.DoModal() == IDOK)
	{
		pos=m_filedlg.GetStartPosition();
        while(pos!=NULL)
		{
			FileList[iFileNum] = m_filedlg.GetNextPathName(pos);
			    FileTitle = m_filedlg.GetFileTitle();
				FileExt = m_filedlg.GetFileExt();
				FileName = m_filedlg.GetFileName(); 
			iFileNum++;
		}
		if(iFileNum == 1)
		{
			m_FilePath = FileList[0];
		}
		else{
            m_FilePath.Format("處理%2d份文件",iFileNum);
		}
		UpdateData(false);
	}
	delete m_pszFile;
	
}
long WINAPI PROCESS(CMyDlg *frame)
{//多線程
	if(flag)//壓縮
		frame->Encode();
	else//解壓
		frame->Decode();
	return 0;
}
void CMyDlg::OnTimer(UINT nIDEvent) 
{//計時器
	char gmsg[300];
	if(!workflag )
	{
		if(flag)
	    	sprintf(gmsg,"壓縮完畢!生成文件:%s",CurrentFileName);
		else
			sprintf(gmsg,"解壓完畢!生成文件:%s",CurrentFileName);
		m_Msg.SetWindowText(gmsg);
		KillTimer(1);//結(jié)束計時器
	}
	else
	if(workflag)
	{
		m_ProgBar.SetPos(int(jc * 100 / length));//設(shè)置進度條狀態(tài)
		timenum++;//計時,每次100毫秒
		if(flag)
		    sprintf(gmsg,"正在壓縮文件......%d%%",jc * 100 / length);
		else
			sprintf(gmsg,"正在解壓文件......%d%%",jc * 100 / length);
		m_Msg.SetWindowText(gmsg);//處理信息
        sprintf(gmsg,"%02d時%02d分%02d秒",timenum/36000,timenum/600,timenum/10);
		m_Time.SetWindowText(gmsg);//顯示處理時間
	}
	CDialog::OnTimer(nIDEvent);
}
void CMyDlg::OnBtncompress() 
{//壓縮按鈕
	flag = 1;//設(shè)置工作狀態(tài),1為壓縮
	unsigned long idThread;	//多線程
	m_hThread = CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)PROCESS,(void*)this,0,&idThread);

}
void CMyDlg::OnBtnuncompress() 
{//解壓按鈕
	flag = 0;//設(shè)置工作狀態(tài),0為解壓
	unsigned long idThread;//多線程
	m_hThread = CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)PROCESS,(void*)this,0,&idThread);
}
void CMyDlg::Encode()
{
	workflag = true;//設(shè)置工作狀態(tài)
	timenum = 0;//計時
	SetTimer(1,100,NULL);//設(shè)置計時器
	CurrentFileName = FileList[0];//獲得壓縮文件名
	
	//讀文件,開辟內(nèi)存
	CFile openfile;
	openfile.Open(CurrentFileName,CFile::modeRead | CFile::shareDenyNone);
	length = openfile.GetLength();
	BYTE *filebuf,*filememp;
	filememp = (BYTE *)GlobalAlloc(GMEM_MOVEABLE,length);
    filebuf = (BYTE *)GlobalLock(filememp);
	BYTE *buf = filebuf;
	length = openfile.ReadHuge(buf,length);
	openfile.Close();

    //對話框面板顯示
	char gmsg[300];
	sprintf(gmsg,"壓縮前長度:");
	m_L1.SetWindowText(gmsg);
	sprintf(gmsg,"壓縮后長度:");
	m_L2.SetWindowText(gmsg);
	sprintf(gmsg,"壓縮比:");
	m_R1.SetWindowText(gmsg);
	sprintf(gmsg,"壓縮時間:");
	m_T1.SetWindowText(gmsg);
	sprintf(gmsg,"%d",length/1024);
	m_FileLength.SetWindowText(gmsg);
	sprintf(gmsg,"");
	m_FileLength2.SetWindowText(gmsg);
	sprintf(gmsg,"%02d時%02d分%02d秒",timenum/36000,timenum/600,timenum/10);

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本午夜精品视频在线观看| 91麻豆精品在线观看| 国产成人三级在线观看| 色中色一区二区| 久久久久久一二三区| 亚洲三级电影全部在线观看高清| 麻豆国产91在线播放| 色悠悠久久综合| 国产亲近乱来精品视频| 老司机午夜精品99久久| 91精彩视频在线观看| 亚洲国产成人私人影院tom| 美女在线视频一区| 欧美男生操女生| 一区二区在线看| 成人动漫在线一区| 久久精品欧美一区二区三区麻豆| 天堂资源在线中文精品| 日本久久精品电影| 国产精品美女一区二区在线观看| 久久超碰97中文字幕| 555www色欧美视频| 曰韩精品一区二区| 91在线无精精品入口| 国产精品乱码久久久久久| 国产精品一区在线观看乱码| 日韩一区二区不卡| 日本视频免费一区| 91精品国产综合久久婷婷香蕉| 亚洲国产精品自拍| 欧美性感一类影片在线播放| 一区二区三区四区亚洲| 色综合一区二区| 亚洲激情欧美激情| 91国模大尺度私拍在线视频 | 色屁屁一区二区| 亚洲欧美在线aaa| 99riav久久精品riav| 亚洲人吸女人奶水| 91伊人久久大香线蕉| 一区在线观看免费| 91女厕偷拍女厕偷拍高清| 一区二区三区免费在线观看| 欧美中文字幕一二三区视频| 午夜私人影院久久久久| 欧美一区二区三区人| 卡一卡二国产精品 | 色婷婷av一区二区三区之一色屋| 亚洲欧美在线视频| 欧美日韩在线免费视频| 日韩成人精品在线| 亚洲精品在线观看视频| 成人免费电影视频| 亚洲精品视频自拍| 4438成人网| 国产成人精品一区二| 国产精品第五页| 精品婷婷伊人一区三区三| 免费国产亚洲视频| 亚洲国产精品t66y| 91福利视频网站| 裸体健美xxxx欧美裸体表演| 国产午夜精品美女毛片视频| 91黄色小视频| 精品伊人久久久久7777人| 国产精品美女久久久久久2018| 91蝌蚪porny成人天涯| 麻豆精品久久精品色综合| 国产精品午夜免费| 91 com成人网| 国产白丝网站精品污在线入口| 亚洲综合精品久久| 精品日韩一区二区| 在线观看免费视频综合| 国产一区二区不卡在线| 亚洲欧洲在线观看av| 欧美一区二区在线观看| 99久久婷婷国产综合精品电影| 日本va欧美va瓶| 综合激情网...| 精品欧美一区二区在线观看| 色狠狠桃花综合| 国产成人免费视频网站| 天天操天天综合网| 亚洲视频1区2区| 国产亚洲一二三区| 欧美高清一级片在线| 一本大道久久a久久精品综合| 国产精品一区在线观看你懂的| 亚洲高清在线精品| 18欧美乱大交hd1984| 久久精品水蜜桃av综合天堂| 51精品秘密在线观看| 91免费在线播放| 丁香天五香天堂综合| 蜜桃一区二区三区在线| 亚洲国产婷婷综合在线精品| 国产精品久久久久桃色tv| 精品国产三级电影在线观看| 欧美体内she精高潮| 色婷婷综合五月| 99精品视频在线观看免费| 国产精品18久久久久| 免费成人在线视频观看| 日韩av电影天堂| 天天色图综合网| 午夜在线电影亚洲一区| 亚洲一区二区影院| 亚洲精品国产品国语在线app| 国产精品黄色在线观看| 国产精品天干天干在线综合| 欧美经典一区二区| 国产午夜亚洲精品午夜鲁丝片| 精品国产sm最大网站| 精品国产乱码久久久久久老虎| 欧美一区二区三区爱爱| 日韩情涩欧美日韩视频| 欧美一区二区视频在线观看| 91精品免费在线观看| 欧美xingq一区二区| 精品久久久久久综合日本欧美 | 天天色天天操综合| 性感美女极品91精品| 日韩和欧美一区二区| 免费日本视频一区| 精油按摩中文字幕久久| 国产成人av一区二区三区在线观看| 国产高清在线精品| av电影在线观看一区| 在线观看亚洲成人| 欧美丰满少妇xxxbbb| 精品嫩草影院久久| 中文在线资源观看网站视频免费不卡 | 国产高清不卡二三区| 成人app在线观看| 91高清视频免费看| 欧美精品一级二级| 日韩精品中文字幕一区| 亚洲国产精华液网站w| 亚洲女同ⅹxx女同tv| 日韩在线一区二区三区| 黄页网站大全一区二区| 99久久er热在这里只有精品15| 在线一区二区视频| 日韩欧美一区在线| 亚洲国产精品黑人久久久| 一区二区在线观看免费视频播放| 亚洲第一二三四区| 国产精品中文字幕日韩精品 | 国产精品毛片大码女人| 亚洲精品国产无套在线观| 日韩主播视频在线| 成人小视频免费在线观看| 欧美区一区二区三区| 日本一区二区三区dvd视频在线| 亚洲免费色视频| 乱一区二区av| 在线观看三级视频欧美| 久久先锋影音av鲁色资源| 亚洲黄色av一区| 国产麻豆成人精品| 欧美日韩国产123区| 国产精品久久久久影院色老大| 偷窥国产亚洲免费视频| www..com久久爱| 精品国产1区二区| 亚洲在线观看免费视频| 国产成人精品免费在线| 欧美日本在线视频| 亚洲日韩欧美一区二区在线| 国内成+人亚洲+欧美+综合在线| 91高清在线观看| 亚洲国产精品ⅴa在线观看| 麻豆精品一区二区av白丝在线| 色哟哟国产精品| 国产精品久久久久久久午夜片 | 精品久久一二三区| 图片区小说区区亚洲影院| 91一区一区三区| 中文字幕免费在线观看视频一区| 蜜臀精品一区二区三区在线观看 | 成人午夜视频在线观看| 日韩一级免费一区| 水蜜桃久久夜色精品一区的特点| 91在线视频观看| 国产精品婷婷午夜在线观看| 国产一区二区精品久久| 日韩美女视频在线| 免费成人av在线| 91精品啪在线观看国产60岁| 亚洲一区二区免费视频| 91视频国产资源| 亚洲人精品一区| 成人免费视频国产在线观看| www国产成人| 经典三级一区二区| 精品国一区二区三区| 精品中文字幕一区二区小辣椒| 日韩欧美一级精品久久| 麻豆成人免费电影|