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

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

?? filespltdlg.cpp

?? VC寫的文件分割器
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
		    m_path = m_targetpath + m_filename;
		else
			m_path = m_targetpath + _T("\\") + m_filename;
		//create target file
		if (!destFile.Open(m_path,  
			CFile::modeWrite		| 
			CFile::shareExclusive	| 
			CFile::typeBinary		| 
			CFile::modeCreate, &ex)) {
			TCHAR szError[1024];
			ex.GetErrorMessage(szError, 1024);
			::AfxMessageBox(szError);
			return 0;
		}
	}
	else if(m_path.IsEmpty())
	{//souce is not there
		MessageBox(_T("請選擇待合并的源文件."), _T("文件分割器"), MB_ICONEXCLAMATION);
		return 1;
	}
	if (m_targetpath.IsEmpty()) {//target is not there
		MessageBox(_T("請選擇合并后要保存到的目標(biāo)文件夾."), _T("文件分割器"), MB_ICONEXCLAMATION);
		return 1;
	}
	//do merge 
	do {
		//constuct a new name by dynamicly incrementing prefix
		pref = _ltoa(l, buff, 10);
		pref += _T("_");
		//open file with new name
		if (!m_SourceFile.Open(newpath + pref + m_filename,  
			CFile::modeRead		| 
			CFile::shareExclusive	| 
			CFile::typeBinary, &ex)) {
			TCHAR szError[1024];
			ex.GetErrorMessage(szError, 1024);
			destFile.Close();
			m_path = _T("");
			m_filename = _T("");
//			pProgress.SetPos(0);
			newpath = _T("");
//			m_parts = _T("");
			UpdateData(FALSE);
			//return OK because this f_n is aborting the loop if name is not found
			return 0;
		}
		else
			//constuct a new name 
			name = _T(newpath + pref + m_filename);
		do  {//write into file while it size < than 1.4 MB
			dwRead = m_SourceFile.Read(buffer, nCount);
			destFile.Write(buffer, dwRead);
		}
		//while we can read from source file
		while (dwRead > 0);

		m_SourceFile.Close();

		// Set the range to be 0 to 500.
		pProgress.SetRange(0, 500);
		// Set the position
		for (int i = 0; i < 500; i++)
			pProgress.SetPos(i);
		m_parts = _ltoa(l, buff, 10);
		m_parts += _T("個文件已合并");
		UpdateData(FALSE);
		l++;
		UpdateWindow();
	}
	while (l < 500);//little bit dirty solution, but you can always improve it!...
		
	return 0;
}

//文件分割涵數(shù)
int CFileSpltDlg::SplitMe() 
{
	CWaitCursor wait;
	// constructing these file objects
	CFile destFile;
	// we'll use a CFileException object to get error information
	CFileException ex;

	DWORD dwRead;
	UINT newlen;
	char buff [20];
	char b [20];
	long l = 1;
	CString name;
	UINT len = 0;
//	CGradientProgressCtrl *pProgress = (CProgressCtrl*) GetDlgItem(IDC_PROGRESS);

	UpdateData(TRUE);

	//獲取文件分割后的大小,定義相對應(yīng)變量數(shù)值
    newlen=GetSplitFileSize();
	UINT nCount = newlen/10;
    BYTE buffer[140000];

	//open file for read
	//m_path contain the file path
	if (!m_path.IsEmpty()) {
		if (!m_SourceFile.Open(m_path, CFile::modeRead | CFile::shareDenyNone | CFile::typeBinary, &ex)) {
			TCHAR szError[1024];
			ex.GetErrorMessage(szError, 1024);
      		::AfxMessageBox(szError);
			m_edit.SetFocus();
			m_edit.SetSel(0, -1);
			return 1;
		}
		//get file length
		len = m_SourceFile.GetLength();
	}
	//too lazy to put all "hard coded" strings in string table
	else {
		MessageBox(_T("請選擇待分割的源文件."), _T("文件分割器"), MB_ICONEXCLAMATION);
		return 1;
	}
	if (m_targetpath.IsEmpty()) {
		MessageBox(_T("請選擇分割后保存到的目標(biāo)文件夾."), _T("文件分割器"), MB_ICONEXCLAMATION);
		return 1;
	}
	//quick and dirty check for file size
	if (len < newlen) {
		CString length = _itoa(len, b, 10);
		MessageBox(_T("文件長度為 " + length + " 字節(jié),不夠指定的分割大小, 沒有必要再進(jìn)行分割."), _T("文件分割器"), MB_ICONEXCLAMATION);
		m_SourceFile.Close();
		m_path = _T("");
		m_filename = _T("");
		UpdateData(FALSE);
		return 1;
	}

	//do split
	do {
		//constuct a new name dynamicly changing prefix
		name = _ltoa(l, buff, 10);
		name += _T("_");
		CString newpath; 

		//判斷選擇目錄未尾是否已有"\"符
		if(m_targetpath.Right(1)=='\\')
			newpath = m_targetpath;
		else
			newpath = m_targetpath + _T("\\");
		if (!destFile.Open(newpath + name + m_SourceFile.GetFileName(),  
			CFile::modeWrite		| 
			CFile::shareExclusive	| 
			CFile::typeBinary		|
			CFile::modeCreate, &ex)) {
			TCHAR szError[1024];
			ex.GetErrorMessage(szError, 1024);
			::AfxMessageBox(szError);
			m_SourceFile.Close();
			return 1;
		}
		do {
			dwRead = m_SourceFile.Read(buffer, nCount);
			destFile.Write(buffer, dwRead);
		}//while size is less than 1.4 MB
		while (dwRead > 0 && destFile.GetLength() < newlen); 
		destFile.Close();
		// Set the range
		pProgress.SetRange(0, len /newlen*10);
		// Set the position
		pProgress.SetPos(l);
		m_parts = _ltoa(l , buff, 10);
		m_parts += _T("個文件生成");
		UpdateData(FALSE);
		l++;
		UpdateWindow();
	}
	while (dwRead > 0);
		// close source
		m_SourceFile.Close();

	m_path = _T("");
	m_filename = _T("");
//	pProgress.SetPos(0);
//	m_parts = _T("");
	UpdateData(FALSE);

	return 0;
}

//選擇待分割或合并的源文件
void CFileSpltDlg::OnBrowse() 
{
	//set filter for split source
	static char BASED_CODE szSplitFilter[] = _T("待分割文件(*.*)|*.*||");
	//set filter for target source
	static char BASED_CODE szMergeFilter[] = _T("待合并文件(1_*.*)|1_*.*||");

	CString filter;
	if (!m_split)
		filter = szMergeFilter;
	else 
		filter = szSplitFilter;

	CFileDialog dlg(TRUE,
					NULL, 
					NULL, 
					OFN_HIDEREADONLY	| 
					OFN_OVERWRITEPROMPT | 
					OFN_FILEMUSTEXIST,
					filter,
					0);

	//set source path
	if (dlg.DoModal() == IDOK) {
		m_path = dlg.GetPathName();
		m_filename = dlg.GetFileName();
		UpdateData(FALSE);
	}
	
}

//開始分割文件
void CFileSpltDlg::OnOk() 
{
    //split file
	int error = SplitMe();

	//get result
	if (!error) 
		MessageBox(_T("文件已被成功分割!"), _T("文件分割器"), MB_ICONEXCLAMATION);
		
}

//開始合并文件
void CFileSpltDlg::OnButtonMerge() 
{
    //merge file
	int error = MergeMe();

	//get result
	if (!error) 
		MessageBox(_T("文件合并成功!"), _T("文件分割器"), MB_ICONEXCLAMATION);
	
}

//選中文件合并單選框
void CFileSpltDlg::OnRadio4() 
{
  	CButton *pButtonMerge = (CButton*)(GetDlgItem(IDC_BUTTON_MERGE));
	CButton *pButtonSplit = (CButton*)(GetDlgItem(IDOK));
	
	//當(dāng)選擇合并文件時,置選擇文件大小的下位框為無效狀態(tài)
	m_FileSize.EnableWindow(false); 
	//play with button and edit ctrl states
	pButtonSplit->EnableWindow(FALSE);
	pButtonMerge->EnableWindow(TRUE);
	m_split = FALSE;
	m_path = _T("");
	UpdateData(FALSE);	
}

//選中文件分割單選框
void CFileSpltDlg::OnRadio3() 
{
	CButton *pButtonMerge = (CButton*)(GetDlgItem(IDC_BUTTON_MERGE));
	CButton *pButtonSplit = (CButton*)(GetDlgItem(IDOK));
	
	//當(dāng)選擇分割文件時,恢復(fù)選擇文件大小的下位框為有效狀態(tài)
	m_FileSize.EnableWindow(true); 
	//play with button and edit ctrl states
	pButtonSplit->EnableWindow(TRUE);
	pButtonMerge->EnableWindow(FALSE);
	m_split = TRUE;
	m_path = _T("");
	UpdateData(FALSE);	
}

//選擇目標(biāo)文件夾
void CFileSpltDlg::OnBrowse2() 
{
  CDirDialog	dlg;
	if (dlg.DoBrowse(this) == IDOK) {
		//set target path
		m_targetpath = dlg.m_strPath;
		UpdateData(FALSE);
	}	
}

BOOL CAboutDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	//設(shè)置位圖按鈕
	m_OK.LoadBitmaps(IDB_BITMAP1,5, 5, 5, 5, 4 );
	
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲免费观看高清完整版在线观看熊| 欧美日本在线视频| 国产欧美日韩视频在线观看| 国产在线国偷精品免费看| www久久精品| 成人免费视频播放| 亚洲精品大片www| 欧美日韩高清一区二区| 热久久免费视频| 欧美精品一区在线观看| 成人国产免费视频| 亚洲精品日韩综合观看成人91| 欧美一a一片一级一片| 天天影视色香欲综合网老头| 亚洲精品一区二区三区影院| 国产精品一卡二| 亚洲情趣在线观看| 91精品中文字幕一区二区三区| 久久国产福利国产秒拍| 国产精品欧美综合在线| 欧美综合一区二区| 美女精品自拍一二三四| 中文字幕一区二区三区在线不卡| 色婷婷av一区| 精品一区二区三区视频在线观看| 国产精品国产三级国产普通话三级 | 日韩一区二区在线观看视频| 国产精品亚洲第一区在线暖暖韩国| 国产精品久久久久久福利一牛影视| 日本精品裸体写真集在线观看| 日本成人在线电影网| 亚洲欧洲美洲综合色网| 欧美一区二区三区精品| 国产69精品久久99不卡| 亚洲gay无套男同| 国产欧美日韩精品a在线观看| 欧美专区在线观看一区| 成人夜色视频网站在线观看| 亚洲成人av一区二区三区| 国产日韩v精品一区二区| 欧美日韩在线亚洲一区蜜芽| 丁香天五香天堂综合| 蜜桃一区二区三区在线观看| 亚洲欧美电影院| 亚洲精品在线观| 欧美日本在线一区| 色综合久久88色综合天天免费| 精品一区二区免费在线观看| 亚洲欧美日韩在线| 亚洲国产成人在线| 精品电影一区二区三区 | 成人小视频在线观看| 日韩福利视频导航| 亚洲一区二区精品3399| 国产精品美女一区二区在线观看| 91精品国产福利在线观看| 92国产精品观看| 懂色av中文一区二区三区| 免费不卡在线观看| 肉色丝袜一区二区| 香蕉久久夜色精品国产使用方法| 亚洲欧美色图小说| 国产精品私人影院| 中文字幕欧美国产| 精品成人私密视频| 欧美tickle裸体挠脚心vk| 9191成人精品久久| 欧美日韩免费观看一区二区三区 | 欧美亚一区二区| 日本精品免费观看高清观看| 99精品欧美一区二区三区综合在线| 国产盗摄女厕一区二区三区| 韩国v欧美v亚洲v日本v| 麻豆精品一区二区三区| 男人的天堂亚洲一区| 蜜桃久久av一区| 免费在线观看一区| 久久精品av麻豆的观看方式| 久久精品国产99| 国产精品一区三区| 成人在线综合网| 国产69精品久久777的优势| 国产福利一区二区三区视频 | 免费日本视频一区| 激情综合亚洲精品| 国产酒店精品激情| 国产91精品精华液一区二区三区 | 麻豆成人在线观看| 麻豆精品在线看| 国产精品夜夜爽| 成人高清av在线| 色综合久久88色综合天天免费| 日本伦理一区二区| 欧美高清你懂得| 欧美不卡视频一区| 国产日韩欧美亚洲| 樱花草国产18久久久久| 天天色综合成人网| 国产一区啦啦啦在线观看| 成人永久aaa| 91久久人澡人人添人人爽欧美| 欧美最新大片在线看| 欧美不卡123| 亚洲欧洲日韩女同| 午夜激情久久久| 国产精品自在欧美一区| 91美女在线视频| 欧美日韩国产乱码电影| 欧美成人vps| 亚洲人成影院在线观看| 亚洲电影欧美电影有声小说| 久久国产精品色婷婷| 91视视频在线观看入口直接观看www | 美女视频免费一区| 国产91精品精华液一区二区三区| 色综合天天综合网国产成人综合天| 精品1区2区3区| 久久久精品日韩欧美| 亚洲精品成a人| 狠狠狠色丁香婷婷综合激情| 99re亚洲国产精品| 日韩写真欧美这视频| 国产精品萝li| 琪琪一区二区三区| 97久久精品人人做人人爽50路 | 91香蕉视频在线| 欧美一激情一区二区三区| 国产精品福利一区| 捆绑变态av一区二区三区| 色噜噜偷拍精品综合在线| 久久亚洲精华国产精华液| 性感美女久久精品| 97久久精品人人澡人人爽| 精品伦理精品一区| 亚洲福利视频导航| 99视频精品在线| 国产午夜精品在线观看| 日韩不卡免费视频| 欧美在线观看视频一区二区| 欧美国产精品一区二区| 麻豆一区二区99久久久久| 欧美色偷偷大香| 最新欧美精品一区二区三区| 国产专区欧美精品| 欧美一卡在线观看| 亚洲高清视频的网址| 一本在线高清不卡dvd| 中文幕一区二区三区久久蜜桃| 美腿丝袜亚洲一区| 欧美日韩免费电影| 亚洲综合色丁香婷婷六月图片| 国产xxx精品视频大全| 欧美成人激情免费网| 日韩av电影天堂| 欧美日韩激情在线| 一区二区三区四区精品在线视频| 成人免费av网站| 国产女主播一区| 国产精品996| 国产三级欧美三级日产三级99| 免费xxxx性欧美18vr| 制服丝袜亚洲播放| 亚洲bt欧美bt精品777| 欧美亚洲动漫制服丝袜| 亚洲午夜羞羞片| 欧美日韩黄色影视| 秋霞电影一区二区| 91精品久久久久久久久99蜜臂| 午夜欧美在线一二页| 欧美日韩精品高清| 日本成人中文字幕在线视频| 91麻豆精品国产无毒不卡在线观看| 丝袜诱惑制服诱惑色一区在线观看 | 亚洲高清视频中文字幕| 欧美色精品天天在线观看视频| 亚洲国产精品久久不卡毛片| 色猫猫国产区一区二在线视频| 一级日本不卡的影视| 欧美午夜精品电影| 午夜激情综合网| 欧美r级在线观看| 国产成人综合精品三级| 国产精品美女一区二区在线观看| 91丝袜呻吟高潮美腿白嫩在线观看| 亚洲欧美一区二区不卡| 欧美日韩一区国产| 美女性感视频久久| 日本一区二区三区dvd视频在线| 成人的网站免费观看| 亚洲女爱视频在线| 欧美精品丝袜中出| 国产在线麻豆精品观看| 国产精品高潮呻吟| 欧美日韩大陆一区二区| 韩国精品主播一区二区在线观看 | 夜夜嗨av一区二区三区中文字幕| 欧美体内she精视频| 久久成人免费电影| 中文字幕一区二区三| 欧美日韩三级在线|