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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? lzwdoc.cpp

?? mfc下的LZW算法
?? CPP
字號:
// LZWDoc.cpp : implementation of the CLZWDoc class
//

#include "stdafx.h"
#include "LZW.h"

#include "LZWCompression.h"
#include "LZWDoc.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CLZWDoc

IMPLEMENT_DYNCREATE(CLZWDoc, CDocument)

BEGIN_MESSAGE_MAP(CLZWDoc, CDocument)
	//{{AFX_MSG_MAP(CLZWDoc)
		// NOTE - the ClassWizard will add and remove mapping macros here.
		//    DO NOT EDIT what you see in these blocks of generated code!
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CLZWDoc construction/destruction

CLZWDoc::CLZWDoc()
{
}

CLZWDoc::~CLZWDoc()
{
}

BOOL CLZWDoc::OnNewDocument()
{
	if (!CDocument::OnNewDocument())
		return FALSE;

	return TRUE;
}



/////////////////////////////////////////////////////////////////////////////
// CLZWDoc serialization

void CLZWDoc::Serialize(CArchive& ar)
{
	if (ar.IsStoring())
	{
		// TODO: add storing code here
	}
	else
	{
		// TODO: add loading code here
	}
}

/////////////////////////////////////////////////////////////////////////////
// CLZWDoc diagnostics

#ifdef _DEBUG
void CLZWDoc::AssertValid() const
{
	CDocument::AssertValid();
}

void CLZWDoc::Dump(CDumpContext& dc) const
{
	CDocument::Dump(dc);
}
#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////
// CLZWDoc commands

CStringArray * CLZWDoc::GetLog()
{
	return &m_Log;
}

void CLZWDoc::Log(CString entry)
{
	m_Log.Add(entry);
	UpdateAllViews(NULL);
}

void CLZWDoc::ClearLog()
{
	m_Log.RemoveAll();
	UpdateAllViews(NULL);
}

void CLZWDoc::Compress()
{
	CLZWCompression cLZWC;
	CFile sourceFile, targetFile;
	BOOL delTarget = FALSE;
	BYTE extSize = 0;

	//	Clear the view log
	ClearLog();

	Log("Requesting source file!");
	//	Open the dialog to select a file
	CFileDialog cFD(TRUE, NULL, NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, "All files (*.*)|*.*|");

	//	Select a file to be opened
	if (cFD.DoModal() == IDCANCEL)
	{
		ClearLog();
		Log("You must select a file to compress!");
		return;
	}
	//	Set the files names and data
	m_SourceFile = cFD.GetPathName();
	m_TargetFile = m_SourceFile.Left(m_SourceFile.ReverseFind('.') + 1) + "lzw";

	Log("Compression begins!");
	Log("Openning Source file: " + m_SourceFile);

	if (!sourceFile.Open(m_SourceFile, CFile::modeRead))
	{
		ClearLog();
		Log("Can't open source file!");
		return;
	}

	Log("Destination file: " + m_TargetFile);
	if (!targetFile.Open(m_TargetFile, CFile::modeWrite | CFile::modeCreate))
	{
		ClearLog();
		Log("Can't create target file!");
		return;
	}

	//	Creathe the LZW dictionary
	cLZWC.CreateDictionary();

	//	Save the extention of the source file inside the destination file
	//	This was added to make sure that we will get the same file type (by
	//	extension), in the result
	extSize = (BYTE)cFD.GetFileExt().GetLength();
	targetFile.Write(&extSize, 1);
	targetFile.Write(cFD.GetFileExt().GetBuffer(extSize), extSize);

	//	Compress the file
	if (!cLZWC.CompressWithLog(sourceFile, targetFile, &m_Log))
	{
		ClearLog();
		Log("Error while compressing!");
		Log("Compression aborted!");
		delTarget = TRUE;
	}
	else
	{
		Log("Compression succeded!");
	}

	//	Close the files
	targetFile.Close();
	sourceFile.Close();

	//	Remove the target if an erro occur
	if (delTarget)
		CFile::Remove(m_TargetFile);
}

void CLZWDoc::Decompress()
{
	CLZWCompression cLZWC;
	CFile sourceFile, targetFile;
	BOOL delTarget = FALSE;
	BYTE extSize = 0;
	CString ext;

	//	Clear the view log
	ClearLog();
	Log("Requesting source file!");

	//	Open the dialog to select a file
	CFileDialog cFD(TRUE, NULL, NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, "Compressed files (*.lzw)|*.lzw|");

	//	Select a file to be opened
	if (cFD.DoModal() == IDCANCEL)
	{
		ClearLog();
		Log("You must select a file to decompress!");
		return;
	}
	m_SourceFile = cFD.GetPathName();

	Log("Decompression begins!");
	Log("Openning Source file: " + m_SourceFile);

	if (!sourceFile.Open(m_SourceFile, CFile::modeRead))
	{
		ClearLog();
		Log("Can't open source file!");
		return;
	}

	//	Get the original file extension from the source file
	sourceFile.Read(&extSize, 1);
	sourceFile.Read(ext.GetBuffer(extSize), extSize);
	ext.ReleaseBuffer(extSize);

	//	set the extension in the destination file string, and create the file
	m_TargetFile = m_SourceFile.Left(m_SourceFile.ReverseFind('.') + 1) + ext;

	Log("Destination file: " + m_TargetFile);
	if (!targetFile.Open(m_TargetFile, CFile::modeWrite | CFile::modeCreate))
	{
		ClearLog();
		Log("Can't create target file!");
		return;
	}

	//	Decompress the file
	if (!cLZWC.DecompressWithLog(sourceFile, targetFile, &m_Log))
	{
		ClearLog();
		Log("Error while decompressing!");
		Log("Decompression aborted!");
		delTarget = TRUE;
	}
	else
	{
		Log("Decompression succeded!");
	}

	//	Close both files
	targetFile.Close();
	sourceFile.Close();

	//	delete the destination file if theres an error
	if (delTarget)
		CFile::Remove(m_TargetFile);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
狠狠色丁香久久婷婷综合_中| 综合久久综合久久| 色综合欧美在线| 国模冰冰炮一区二区| 日韩精品1区2区3区| 一区二区三区精品视频在线| 国产欧美久久久精品影院| 精品欧美黑人一区二区三区| 欧美午夜精品一区二区蜜桃| 91小视频免费看| 91年精品国产| 一本色道久久综合精品竹菊| 成人av网址在线| 成人手机在线视频| 国产成人啪午夜精品网站男同| 国产精品久久久久影院老司| 国产精品婷婷午夜在线观看| 日本一二三不卡| 久久蜜桃av一区精品变态类天堂| 欧美喷水一区二区| 日韩免费视频一区二区| 日韩欧美亚洲国产另类| 日韩欧美成人激情| 久久婷婷综合激情| 欧美精品一区在线观看| 久久久精品免费观看| 国产亚洲综合av| 国产精品免费视频网站| 亚洲欧美电影院| 亚洲成人一区二区在线观看| 丝袜美腿亚洲综合| 国内精品免费**视频| 国产精品乡下勾搭老头1| 成人的网站免费观看| 91在线你懂得| 欧美日本免费一区二区三区| 精品久久一二三区| 国产精品美女久久久久久久久久久 | 91精品国模一区二区三区| 欧美高清一级片在线| 欧美一区二区三区四区高清| 亚洲精品在线观| 亚洲三级在线观看| 丝袜美腿亚洲一区| 国产成人精品免费网站| 色综合久久中文综合久久97 | 亚洲色图制服诱惑| 日韩精品久久久久久| 日本欧美在线观看| 不卡的看片网站| 在线电影院国产精品| 精品成人私密视频| 亚洲激情图片小说视频| 激情综合色丁香一区二区| proumb性欧美在线观看| 在线视频欧美精品| 久久嫩草精品久久久久| 亚洲午夜久久久| 偷拍一区二区三区| 国产99久久久久| 欧美日韩第一区日日骚| 亚洲无人区一区| 在线免费观看成人短视频| 国产精品动漫网站| 不卡的av电影| 亚洲欧美日韩在线不卡| 国产不卡视频在线观看| 久久男人中文字幕资源站| 久久97超碰国产精品超碰| 欧美成人三级电影在线| 精品一区二区日韩| 精品国偷自产国产一区| 久久精品国产99国产| 欧美一区二区三区免费观看视频 | 欧美人成免费网站| 青青青爽久久午夜综合久久午夜| 欧美视频精品在线观看| 亚洲gay无套男同| 欧美区在线观看| 午夜激情久久久| 欧美精品v国产精品v日韩精品| 亚洲国产精品尤物yw在线观看| 欧美日韩卡一卡二| 日韩经典中文字幕一区| 精品国产一区二区在线观看| 久久99国产精品麻豆| 久久久高清一区二区三区| 成人国产一区二区三区精品| 中文字幕日本不卡| 不卡一区二区三区四区| 一区二区三区欧美| 欧美一级xxx| 国产盗摄视频一区二区三区| 日韩理论电影院| 91精品婷婷国产综合久久| 韩国精品免费视频| 亚洲婷婷国产精品电影人久久| 欧美三级视频在线观看| 麻豆精品一二三| 国产日韩精品视频一区| 91玉足脚交白嫩脚丫在线播放| 亚洲国产精品精华液网站| 欧美一级久久久| 成人av在线一区二区| 亚洲综合久久久久| 久久亚洲一级片| 在线观看网站黄不卡| 紧缚捆绑精品一区二区| 中文字幕一区视频| 日韩一区二区三区av| 成人动漫一区二区在线| 日本欧洲一区二区| 亚洲私人黄色宅男| 日韩欧美中文一区二区| 懂色av一区二区三区蜜臀| 亚洲国产成人tv| 国产精品高潮久久久久无| 91麻豆精品国产自产在线观看一区| 国内一区二区视频| 亚洲高清视频在线| 中文字幕精品一区二区三区精品| 欧美日韩国产首页| 成人av电影在线观看| 国内精品免费在线观看| 天堂蜜桃一区二区三区| 亚洲色图欧洲色图| 国产精品色哟哟| 日韩免费观看2025年上映的电影| 在线国产亚洲欧美| 成人av免费在线观看| 国产精品一二三四区| 久久精品国产亚洲一区二区三区| 亚洲免费色视频| 国产精品女主播在线观看| 精品国产91洋老外米糕| 欧美美女网站色| 精品婷婷伊人一区三区三| 99精品热视频| 91最新地址在线播放| 丰满白嫩尤物一区二区| 国产sm精品调教视频网站| 精品无码三级在线观看视频| 青娱乐精品在线视频| 日韩一区精品视频| 午夜久久久久久久久久一区二区| 亚洲精品国产a久久久久久| 自拍偷拍欧美激情| 亚洲三级电影网站| 亚洲精品乱码久久久久久久久 | 北条麻妃一区二区三区| 国产综合久久久久影院| 狠狠色狠狠色综合系列| 狠狠色丁香婷婷综合| 国产精品系列在线播放| 国产裸体歌舞团一区二区| 国产精品99久久久久久久女警| 国产真实乱对白精彩久久| 久久疯狂做爰流白浆xx| 卡一卡二国产精品| 国产九色sp调教91| 成人短视频下载| 91久久国产综合久久| 欧美亚洲禁片免费| 日韩欧美国产综合| 久久久午夜电影| 亚洲免费在线视频| 手机精品视频在线观看| 久久99精品国产麻豆婷婷| 国产精品中文字幕日韩精品| 不卡区在线中文字幕| 欧美在线一区二区| 欧美成人乱码一区二区三区| 欧美国产1区2区| 午夜精品久久久久久| 麻豆91在线观看| 国产成a人亚洲精品| 在线精品视频免费播放| 欧美妇女性影城| 久久久久久久国产精品影院| 日韩美女视频19| 久久99精品久久久久久动态图| 成人国产精品视频| 欧美视频一区二| 久久日韩粉嫩一区二区三区 | 日本不卡的三区四区五区| 国模娜娜一区二区三区| 在线观看一区二区精品视频| 日韩一级精品视频在线观看| 国产精品久久久久影视| 日韩成人午夜电影| 99精品视频中文字幕| 精品欧美一区二区在线观看 | 555夜色666亚洲国产免| 中文字幕精品一区二区精品绿巨人| 亚洲国产精品久久久久秋霞影院| 精品午夜一区二区三区在线观看| 91精品91久久久中77777| 久久蜜桃av一区精品变态类天堂| 亚洲国产精品久久人人爱蜜臀| 国产精品2024|