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

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

?? lzwview.cpp

?? 用可視化環(huán)境,實(shí)現(xiàn)LZW壓縮算法 編程環(huán)境:VC6.0
?? CPP
字號(hào):
// LZWView.cpp : implementation of the CLZWView class
//

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

#include "LZWDoc.h"
#include "LZWView.h"
#include<fstream>
#include"HashTable.h"
#include"stdlib.h"
using namespace std;
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CLZWView

IMPLEMENT_DYNCREATE(CLZWView, CFormView)

BEGIN_MESSAGE_MAP(CLZWView, CFormView)
	//{{AFX_MSG_MAP(CLZWView)
	ON_BN_CLICKED(IDC_LIULAN, OnLiulan)
	ON_BN_CLICKED(IDC_JIEYA, OnJieya)
	ON_BN_CLICKED(IDC_YASUO, OnYasuo)
	ON_BN_CLICKED(IDC_LIULAN2, OnLiulan2)
	ON_WM_CREATE()
	//}}AFX_MSG_MAP
	// Standard printing commands
	ON_COMMAND(ID_FILE_PRINT, CFormView::OnFilePrint)
	ON_COMMAND(ID_FILE_PRINT_DIRECT, CFormView::OnFilePrint)
	ON_COMMAND(ID_FILE_PRINT_PREVIEW, CFormView::OnFilePrintPreview)
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CLZWView construction/destruction

CLZWView::CLZWView()
	: codes(4096),CFormView(CLZWView::IDD)
{
	//{{AFX_DATA_INIT(CLZWView)
	m_s = _T("");
	m_s2 = _T("");
	m_s4 = _T("");
	m_s3 = _T("");
	m_2 = _T("");
	//}}AFX_DATA_INIT
	// TODO: add construction code here
	status=0;
	alpha=256;
	s=new unsigned char[codes];
 ht=new ele[codes];
 
//	codes=4096;

}

CLZWView::~CLZWView()
{
	delete ht;
	delete s;
}

void CLZWView::DoDataExchange(CDataExchange* pDX)
{
	CFormView::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CLZWView)
	DDX_Control(pDX, IDC_PROGRESS2, m_jindu2);
	DDX_Control(pDX, IDC_PROGRESS1, m_jindu1);
	DDX_Text(pDX, IDC_EDIT1, m_s);
	DDX_Text(pDX, IDC_EDIT2, m_s2);
	DDX_Text(pDX, IDC_EDIT4, m_s4);
	DDX_Text(pDX, IDC_EDIT3, m_s3);
	DDX_Text(pDX, IDC_S2, m_2);
	//}}AFX_DATA_MAP
}

BOOL CLZWView::PreCreateWindow(CREATESTRUCT& cs)
{
	// TODO: Modify the Window class or styles here by modifying
	//  the CREATESTRUCT cs

	return CFormView::PreCreateWindow(cs);
}

void CLZWView::OnInitialUpdate()
{
	CFormView::OnInitialUpdate();
	GetParentFrame()->RecalcLayout();
	ResizeParentToFit();
	m_jindu1.SetRange(1,(short)50000);
 m_jindu1.SetStep(1);
 m_jindu1.SetPos(1);
  m_jindu2.SetRange(1,(short)50000);
 m_jindu2.SetStep(1);
 m_jindu2.SetPos(1);
 GetDlgItem(IDC_YASUO)->EnableWindow(FALSE);
  GetDlgItem(IDC_JIEYA)->EnableWindow(FALSE);
//	m_p1.SetIcon(AfxGetApp()->LoadIcon(IDI_ICON1));
//	this->Invalidate();
}

/////////////////////////////////////////////////////////////////////////////
// CLZWView printing

BOOL CLZWView::OnPreparePrinting(CPrintInfo* pInfo)
{
	// default preparation
	return DoPreparePrinting(pInfo);
}

void CLZWView::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
	// TODO: add extra initialization before printing
}

void CLZWView::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
	// TODO: add cleanup after printing
}

void CLZWView::OnPrint(CDC* pDC, CPrintInfo* /*pInfo*/)
{
	// TODO: add customized printing code here
}

/////////////////////////////////////////////////////////////////////////////
// CLZWView diagnostics

#ifdef _DEBUG
void CLZWView::AssertValid() const
{
	CFormView::AssertValid();
}

void CLZWView::Dump(CDumpContext& dc) const
{
	CFormView::Dump(dc);
}

CLZWDoc* CLZWView::GetDocument() // non-debug version is inline
{
	ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CLZWDoc)));
	return (CLZWDoc*)m_pDocument;
}
#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////
// CLZWView message handlers

void CLZWView::OnLiulan() 
{
	CFileDialog dlg(TRUE);
	if(dlg.DoModal()==IDOK){
		m_s=dlg.GetPathName();
		//UpdateData(TRUE);
			Input=(LPCTSTR)m_s;


		in.open(Input,ios::binary);
		if(in.fail())
			MessageBox("打開錯(cuò)誤!");
		 GetDlgItem(IDC_YASUO)->EnableWindow(TRUE);
	}
	
	
	UpdateData(FALSE);
	// TODO: Add your control notification handler code here
	
}

void CLZWView::OnJieya() 
{

		
	
		
		CFileDialog dlg(FALSE);
		int b=dlg.DoModal();
		if(b==IDOK){
		


		
		m_s4=dlg.GetPathName();
		//UpdateData(TRUE);
		Output=(LPCTSTR)m_s4;
		
			UpdateData(FALSE);
			out1.open(Output,ios::binary);
			if(out1.fail())
				MessageBox("out打開錯(cuò)誤!");
	
	
		if(MessageBox("確認(rèn)?","提示框",MB_OKCANCEL)==IDOK)
			Decompress();
		
		
		
	}
	// TODO: Add your control notification handler code here
	
}

void CLZWView::Compress()
{	HashTable<element,unsigned long> h(4099);
	element e;
	int step=1;
	for(int i=0;i<alpha;i++){
		e.key=i;
		e.code=i;
		h.Insert(e);
	}
	int used=alpha;
	unsigned char c;
	char a;
	in.get(a);
	c=a;

	unsigned long pcode=c;
	if(!in.eof()){
		
		do{
				if(step<45000){
			m_jindu1.StepIt();
			step++;
			}
			in.get(a);
			c=a;
			if(in.eof()) break;
			 if(pcode==0||c==0)
			{
				Output1(pcode);		
				pcode=c;			
				continue;
			} 
		
			unsigned long k=(pcode<<8)+c;
			if(h.Search(k,e)) pcode=e.code;
		

			else {
				Output1(pcode);
				if(used<4096)
				{
					e.code=used++;
					e.key=(pcode<<8)|c;
				
					h.Insert(e);
					}
				pcode=c;
			}
		
		}while(true);
		Output1(pcode);
		if(status){
			c=LeftOver<<4;
			out.put(c);
		//	cout<<c+0<<" ";
		}
	}
	for(;step<=50000;step++)
		m_jindu1.StepIt();
	m_jindu1.SetPos(50000);
	MessageBox("over!");
	m_jindu1.SetPos(1);
	out.close();
	in.close();
	status=0;
	alpha=256;

}

void CLZWView::Output1(unsigned long pcode)
{
		unsigned char c,d;


	if(status){
		d=pcode&255;
		c=(LeftOver<<4)|(pcode>>8);
	
		out.put(c);

	
		out.put(d);

		status=0;
	}
	else{
		LeftOver=pcode&15;
		c=pcode>>4;

		out.put(c);
	
		status=1;
	}

}

void CLZWView::Decompress()
{
int used=alpha;
	int pcode;
	int ccode;
	int step=1;
	if(GetCode(pcode)){
		s[0]=pcode;
		out1.put(s[0]);

		size=0;
		
		while(GetCode(ccode)){
				if(step<45000)
			{
				step++;
				m_jindu2.StepIt();
				/*m_2.Format("%d '%'",step/50);
				UpdateData(FALSE);*/
			}
			if(pcode==0||ccode==0)
			{
              
				Output2(ccode);
		
				pcode=ccode;
				continue;
			}
			if(ccode<used){
				Output2(ccode);
		
					if(used<codes){
						ht[used].prefix=pcode;
						ht[used++].suffix=s[size];
				
					}
			}
			else{
		
				ht[used].prefix=pcode;
				ht[used++].suffix=s[size];
			
		
				Output2(ccode);
			}
			pcode=ccode;

		
		}
	}
	in1.close();
	out1.close();
	for(;step<=50000;step++)
		m_jindu2.StepIt();
	m_jindu2.SetPos(50000);
	MessageBox("over!!");
	m_jindu2.SetPos(1);
}

bool CLZWView::GetCode(int &code)
{char a;
	unsigned char c,d;
	in1.get(a);
	c=a;
	//cout<<c+0<<" ";

	if(in1.eof()) return false;
	if(status) code=(LeftOver<<8)|c;
	else {
		in1.get(a);
		d=a;
	
	//	cout<<d+0<<" ";
		LeftOver=d&15;	
		code=(c<<4)|(d>>4);

	}
	//cout<<code<<"**"<<endl;
	status=1-status;
	return true;

}

void CLZWView::Output2(int code)
{
		size=-1;
	while(code>=alpha){
	s[++size]=ht[code].suffix;

		code=ht[code].prefix;
	}
	s[++size]=code;
	for(int i=size;i>=0;i--){
		out1.put(s[i]);

	}
}

void CLZWView::OnYasuo() 
{
	

	// TODO: Add your control notification handler code here
		CFileDialog dlg(FALSE);
		int b=dlg.DoModal();
		
		
		if(b==IDOK){
		
			m_s2=dlg.GetPathName();
			UpdateData(FALSE);
	
			Output=(LPCTSTR)m_s2;
			int k=strlen(Output);
			if(!(Output[k-1]=='z'&&Output[k-2]=='z'&&Output[k-3]=='z'&&Output[k-4]=='.'))
			MessageBox("擴(kuò)展名不正確,本程序支持“.zzz”的擴(kuò)展名!");
		else{
		
			out.open(Output,ios::binary);


			if(out.fail())
				MessageBox("打開錯(cuò)誤!");
				UpdateData(FALSE);
			if(MessageBox("確認(rèn)?","提示框",MB_OKCANCEL)==IDOK)
		//	Sleep(100);
				Compress();	
		

			
		}
		

		
	}
}

void CLZWView::OnLiulan2() 
{
CFileDialog dlg(TRUE);
	if(dlg.DoModal()==IDOK){
		m_s3=dlg.GetPathName();
		//UpdateData(TRUE);
		Input=(LPCTSTR)m_s3;
			int k=strlen(Input);
			if(!(Input[k-1]=='z'&&Input[k-2]=='z'&&Input[k-3]=='z'&&Input[k-4]=='.'))
				MessageBox("擴(kuò)展名不正確,本程序解壓擴(kuò)展名“.zzz”的文件!");
			else{
					in1.open(Input,ios::binary);
				if(in1.fail())
					MessageBox("in打開錯(cuò)誤!");
				else
					GetDlgItem(IDC_JIEYA)->EnableWindow(TRUE);
			}
	
	}

	UpdateData(FALSE);	
}

void CLZWView::OnDraw(CDC* pDC) 
{
	// TODO: Add your specialized code here and/or call the base class
	pDC=GetDC();
	pDC->BitBlt( 263, 16, 530,400, &m_ZDC, 0,0, SRCCOPY );
	
}


int CLZWView::OnCreate(LPCREATESTRUCT lpCreateStruct) 
{
	if (CFormView::OnCreate(lpCreateStruct) == -1)
		return -1;
	CDC* pDC=GetDC();
	m_Z.LoadBitmap(IDB_Z);

   	m_ZDC.CreateCompatibleDC(pDC);
    m_ZDC.SelectObject(&m_Z);
//	pDC->DeleteDC();
	return 0;
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本一区二区成人| 日本一区二区电影| 亚洲午夜免费视频| 国产精品综合视频| 欧美日本国产视频| 国产精品久久久久精k8| 国产制服丝袜一区| 欧美日韩激情在线| 亚洲美女一区二区三区| 国产精品自拍在线| 日韩精品中文字幕一区二区三区| 一区二区三区在线视频观看 | 中文字幕一区二区三区不卡 | 亚洲国产成人91porn| 成人av资源网站| 欧美精品一区二区三区高清aⅴ | 久久久亚洲精品石原莉奈| 午夜a成v人精品| 欧美中文字幕亚洲一区二区va在线 | 国产91在线看| 26uuu亚洲| 免费xxxx性欧美18vr| 9191久久久久久久久久久| 一级特黄大欧美久久久| 91亚洲永久精品| 国产精品电影院| 成人精品gif动图一区| 久久精品人人做| 国产一区二区精品在线观看| 日韩欧美黄色影院| 日韩国产精品91| 9191久久久久久久久久久| 午夜欧美2019年伦理| 欧美三级电影在线观看| 亚洲狠狠爱一区二区三区| 色菇凉天天综合网| 亚洲女人****多毛耸耸8| 99久久777色| 亚洲另类色综合网站| 色哟哟国产精品| 亚洲专区一二三| 欧美日韩免费观看一区二区三区| 亚洲尤物在线视频观看| 在线观看免费亚洲| 亚洲成人综合在线| 欧美丰满高潮xxxx喷水动漫| 亚洲v中文字幕| 在线91免费看| 黑人巨大精品欧美黑白配亚洲 | 99精品视频在线观看| 亚洲欧洲另类国产综合| 91老师片黄在线观看| 亚洲精品成a人| 欧美日韩免费电影| 看电影不卡的网站| 久久综合久久综合久久综合| 国产成人a级片| 最新久久zyz资源站| 96av麻豆蜜桃一区二区| 亚洲综合av网| 欧美军同video69gay| 精品制服美女久久| 国产精品女同互慰在线看| 一本大道av伊人久久综合| 亚洲一区二区三区四区五区中文| 欧美日韩国产影片| 经典三级视频一区| 国产精品久久一卡二卡| 在线视频欧美精品| 日本大胆欧美人术艺术动态| 国产亚洲精久久久久久| 91影视在线播放| 亚洲国产视频一区| 精品剧情v国产在线观看在线| 国产在线国偷精品免费看| 亚洲少妇30p| 欧美乱妇15p| 国产成人综合视频| 亚洲黄色av一区| 制服.丝袜.亚洲.另类.中文| 国产一二精品视频| 亚洲欧美另类久久久精品| 91 com成人网| 国产传媒日韩欧美成人| 亚洲免费成人av| 精品久久久久久久久久久久包黑料 | 亚洲色大成网站www久久九九| 欧洲一区二区三区免费视频| 久久99精品国产| 亚洲欧美日韩一区二区三区在线观看| 欧美人与禽zozo性伦| 国产成人一级电影| 亚洲成av人影院| 久久色成人在线| 欧美三级电影在线看| 国产乱码精品一区二区三区av | 精品中文字幕一区二区小辣椒| 国产精品久久久久久福利一牛影视| 欧美少妇性性性| 国产一区二区伦理| 亚洲国产aⅴ成人精品无吗| 久久人人爽人人爽| 欧美三级日韩在线| 国产成人8x视频一区二区| 亚洲精品久久嫩草网站秘色| 精品美女一区二区三区| 欧美无人高清视频在线观看| 国产成人免费网站| 视频一区二区三区在线| 国产精品国产三级国产aⅴ入口| 91精品欧美久久久久久动漫 | 高清视频一区二区| 免费在线看一区| 一区二区三区日韩欧美| 久久久久99精品国产片| 91麻豆精品国产91| 在线视频你懂得一区| 成人免费视频一区| 精彩视频一区二区| 日韩激情在线观看| 亚洲猫色日本管| 欧美激情一区二区三区在线| 日韩欧美卡一卡二| 欧美日韩不卡一区二区| 欧美做爰猛烈大尺度电影无法无天| 国产成人精品免费网站| 韩国欧美国产1区| 秋霞午夜鲁丝一区二区老狼| 亚洲精品免费在线| 欧美国产日本韩| 国产亚洲午夜高清国产拍精品| 欧美一区二区免费| 欧美日本一区二区在线观看| 日本精品一区二区三区高清| 成人综合婷婷国产精品久久蜜臀| 久国产精品韩国三级视频| 视频在线在亚洲| 亚洲成人午夜电影| 亚洲高清中文字幕| 亚洲一区二区三区四区在线观看| 椎名由奈av一区二区三区| 中文字幕成人网| 国产亚洲一本大道中文在线| 国产亚洲精品免费| 国产亚洲精品超碰| 国产三级欧美三级| 国产亚洲欧美在线| 国产亚洲成aⅴ人片在线观看 | 精品sm捆绑视频| 日韩欧美亚洲国产精品字幕久久久| 欧美精品v国产精品v日韩精品| 欧美影视一区二区三区| 在线观看免费视频综合| 欧美午夜影院一区| 欧美日韩小视频| 884aa四虎影成人精品一区| 在线播放中文字幕一区| 51午夜精品国产| 日韩视频免费观看高清完整版 | 欧美男同性恋视频网站| 欧美日本乱大交xxxxx| 91精品国产色综合久久| 4438成人网| 日韩精品一区二区三区在线| 日韩欧美激情一区| 2021久久国产精品不只是精品| 久久久久久久免费视频了| 久久奇米777| 欧美激情综合五月色丁香| 中文字幕一区二区三区在线不卡| 中文字幕亚洲欧美在线不卡| 亚洲四区在线观看| 香蕉久久一区二区不卡无毒影院| 天堂一区二区在线免费观看| 日本三级亚洲精品| 美女一区二区视频| 精品一区二区三区欧美| 高清在线观看日韩| 91色porny在线视频| 欧美色图免费看| 日韩三级免费观看| 欧美激情资源网| 一区二区三区**美女毛片| 天堂午夜影视日韩欧美一区二区| 久久99最新地址| 成人久久18免费网站麻豆 | 色婷婷综合久久久久中文| 欧美日韩免费高清一区色橹橹 | 欧美一区二区精品| 久久久久久久久97黄色工厂| 国产精品传媒在线| 日韩高清电影一区| 粉嫩高潮美女一区二区三区| 色中色一区二区| 欧美一区二区三区电影| 国产人成亚洲第一网站在线播放| 亚洲精品第1页| 久久精品国产秦先生| 99视频精品在线| 欧美久久久久久蜜桃|