⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 splitterview.cpp

📁 一个可以分割txt和doc的源代码,用C++编的,是一种比较好的东西哦
💻 CPP
📖 第 1 页 / 共 3 页
字号:
				CFile f12(str12,CFile::modeCreate|CFile::modeReadWrite);
				for(i=0;i<nAV;i++)
				{
					nBytesRead=SF.Read(pBuffer,0x1000);
					f12.Write(pBuffer,nBytesRead);
				}
				if(nAV*(0x1000)<AVLength)
				{
					nBytesRead=SF.Read(pBuffer,(AVLength-nAV*(0x1000)));
					f12.Write(pBuffer,nBytesRead);
				}
				f12.Close();				
				}
				else
				{
				str12=m_SelectFolderSplit+m_SplitFileName+_T(".X12");
				CFile f12(str12,CFile::modeCreate|CFile::modeReadWrite);
				for(i=0;i<nAV;i++)
				{
					nBytesRead=SF.Read(pBuffer,0x1000);
					f12.Write(pBuffer,nBytesRead);
				}
				if(nAV*(0x1000)<AVLength)
				{
					nBytesRead=SF.Read(pBuffer,(AVLength-nAV*(0x1000)));
					f12.Write(pBuffer,nBytesRead);
				}
				f12.Close();				
				}



			case 11:
				if(m_SelectFolderSplit.GetAt(nStringLen-1)!='\\')
				{
				str11=m_SelectFolderSplit+_T("\\")+m_SplitFileName+_T(".X11");
				CFile f11(str11,CFile::modeCreate|CFile::modeReadWrite);
				for(i=0;i<nAV;i++)
				{
					nBytesRead=SF.Read(pBuffer,0x1000);
					f11.Write(pBuffer,nBytesRead);
				}
				if(nAV*(0x1000)<AVLength)
				{
					nBytesRead=SF.Read(pBuffer,(AVLength-nAV*(0x1000)));
					f11.Write(pBuffer,nBytesRead);
				}
				f11.Close();				
				}
				else
				{
				str11=m_SelectFolderSplit+m_SplitFileName+_T(".X11");
				CFile f11(str11,CFile::modeCreate|CFile::modeReadWrite);
				for(i=0;i<nAV;i++)
				{
					nBytesRead=SF.Read(pBuffer,0x1000);
					f11.Write(pBuffer,nBytesRead);
				}
				if(nAV*(0x1000)<AVLength)
				{
					nBytesRead=SF.Read(pBuffer,(AVLength-nAV*(0x1000)));
					f11.Write(pBuffer,nBytesRead);
				}
				f11.Close();				
				}

			case 10:
				if(m_SelectFolderSplit.GetAt(nStringLen-1)!='\\')
				{
				str10=m_SelectFolderSplit+_T("\\")+m_SplitFileName+_T(".X10");
				CFile f10(str10,CFile::modeCreate|CFile::modeReadWrite);
				for(i=0;i<nAV;i++)
				{
					nBytesRead=SF.Read(pBuffer,0x1000);
					f10.Write(pBuffer,nBytesRead);
				}
				if(nAV*(0x1000)<AVLength)
				{
					nBytesRead=SF.Read(pBuffer,(AVLength-nAV*(0x1000)));
					f10.Write(pBuffer,nBytesRead);
				}
				f10.Close();				
				}
				else
				{
				str10=m_SelectFolderSplit+m_SplitFileName+_T(".X10");
				CFile f10(str10,CFile::modeCreate|CFile::modeReadWrite);
				for(i=0;i<nAV;i++)
				{
					nBytesRead=SF.Read(pBuffer,0x1000);
					f10.Write(pBuffer,nBytesRead);
				}
				if(nAV*(0x1000)<AVLength)
				{
					nBytesRead=SF.Read(pBuffer,(AVLength-nAV*(0x1000)));
					f10.Write(pBuffer,nBytesRead);
				}
				f10.Close();				
				}

			case 9:
				if(m_SelectFolderSplit.GetAt(nStringLen-1)!='\\')
				{
				str9=m_SelectFolderSplit+_T("\\")+m_SplitFileName+_T(".X09");
				CFile f9(str9,CFile::modeCreate|CFile::modeReadWrite);
				for(i=0;i<nAV;i++)
				{
					nBytesRead=SF.Read(pBuffer,0x1000);
					f9.Write(pBuffer,nBytesRead);
				}
				if(nAV*(0x1000)<AVLength)
				{
					nBytesRead=SF.Read(pBuffer,(AVLength-nAV*(0x1000)));
					f9.Write(pBuffer,nBytesRead);
				}
				f9.Close();				
				}
				else
				{
				str9=m_SelectFolderSplit+m_SplitFileName+_T(".X09");
				CFile f9(str9,CFile::modeCreate|CFile::modeReadWrite);
				for(i=0;i<nAV;i++)
				{
					nBytesRead=SF.Read(pBuffer,0x1000);
					f9.Write(pBuffer,nBytesRead);
				}
				if(nAV*(0x1000)<AVLength)
				{
					nBytesRead=SF.Read(pBuffer,(AVLength-nAV*(0x1000)));
					f9.Write(pBuffer,nBytesRead);
				}
				f9.Close();				
				}



			case 8:
				if(m_SelectFolderSplit.GetAt(nStringLen-1)!='\\')
				{
				str8=m_SelectFolderSplit+_T("\\")+m_SplitFileName+_T(".X08");
				CFile f8(str8,CFile::modeCreate|CFile::modeReadWrite);
				for(i=0;i<nAV;i++)
				{
					nBytesRead=SF.Read(pBuffer,0x1000);
					f8.Write(pBuffer,nBytesRead);
				}
				if(nAV*(0x1000)<AVLength)
				{
					nBytesRead=SF.Read(pBuffer,(AVLength-nAV*(0x1000)));
					f8.Write(pBuffer,nBytesRead);
				}
				f8.Close();			
				}
				else
				{
				str8=m_SelectFolderSplit+m_SplitFileName+_T(".X08");
				CFile f8(str8,CFile::modeCreate|CFile::modeReadWrite);
				for(i=0;i<nAV;i++)
				{
					nBytesRead=SF.Read(pBuffer,0x1000);
					f8.Write(pBuffer,nBytesRead);
				}
				if(nAV*(0x1000)<AVLength)
				{
					nBytesRead=SF.Read(pBuffer,(AVLength-nAV*(0x1000)));
					f8.Write(pBuffer,nBytesRead);
				}
				f8.Close();				
				}



			case 7:
				if(m_SelectFolderSplit.GetAt(nStringLen-1)!='\\')
				{
				str7=m_SelectFolderSplit+_T("\\")+m_SplitFileName+_T(".X07");
				CFile f7(str7,CFile::modeCreate|CFile::modeReadWrite);
				for(i=0;i<nAV;i++)
				{
					nBytesRead=SF.Read(pBuffer,0x1000);
					f7.Write(pBuffer,nBytesRead);
				}
				if(nAV*(0x1000)<AVLength)
				{
					nBytesRead=SF.Read(pBuffer,(AVLength-nAV*(0x1000)));
					f7.Write(pBuffer,nBytesRead);
				}
				f7.Close();				
				}
				else
				{
				str7=m_SelectFolderSplit+m_SplitFileName+_T(".X07");
				CFile f7(str7,CFile::modeCreate|CFile::modeReadWrite);
				for(i=0;i<nAV;i++)
				{
					nBytesRead=SF.Read(pBuffer,0x1000);
					f7.Write(pBuffer,nBytesRead);
				}
				if(nAV*(0x1000)<AVLength)
				{
					nBytesRead=SF.Read(pBuffer,(AVLength-nAV*(0x1000)));
					f7.Write(pBuffer,nBytesRead);
				}
				f7.Close();				
				}



			case 6:
				if(m_SelectFolderSplit.GetAt(nStringLen-1)!='\\')
				{
				str6=m_SelectFolderSplit+_T("\\")+m_SplitFileName+_T(".X06");
				CFile f6(str6,CFile::modeCreate|CFile::modeReadWrite);
				for(i=0;i<nAV;i++)
				{
					nBytesRead=SF.Read(pBuffer,0x1000);
					f6.Write(pBuffer,nBytesRead);
				}
				if(nAV*(0x1000)<AVLength)
				{
					nBytesRead=SF.Read(pBuffer,(AVLength-nAV*(0x1000)));
					f6.Write(pBuffer,nBytesRead);
				}
				f6.Close();				
				}
				else
				{
				str6=m_SelectFolderSplit+m_SplitFileName+_T(".X06");
				CFile f6(str6,CFile::modeCreate|CFile::modeReadWrite);
				for(i=0;i<nAV;i++)
				{
					nBytesRead=SF.Read(pBuffer,0x1000);
					f6.Write(pBuffer,nBytesRead);
				}
				if(nAV*(0x1000)<AVLength)
				{
					nBytesRead=SF.Read(pBuffer,(AVLength-nAV*(0x1000)));
					f6.Write(pBuffer,nBytesRead);
				}
				f6.Close();				
				}



			case 5:
				if(m_SelectFolderSplit.GetAt(nStringLen-1)!='\\')
				{
				str5=m_SelectFolderSplit+_T("\\")+m_SplitFileName+_T(".X05");
				CFile f5(str5,CFile::modeCreate|CFile::modeReadWrite);
				for(i=0;i<nAV;i++)
				{
					nBytesRead=SF.Read(pBuffer,0x1000);
					f5.Write(pBuffer,nBytesRead);
				}
				if(nAV*(0x1000)<AVLength)
				{
					nBytesRead=SF.Read(pBuffer,(AVLength-nAV*(0x1000)));
					f5.Write(pBuffer,nBytesRead);
				}
				f5.Close();				
				}
				else
				{
				str5=m_SelectFolderSplit+m_SplitFileName+_T(".X05");
				CFile f5(str5,CFile::modeCreate|CFile::modeReadWrite);
				for(i=0;i<nAV;i++)
				{
					nBytesRead=SF.Read(pBuffer,0x1000);
					f5.Write(pBuffer,nBytesRead);
				}
				if(nAV*(0x1000)<AVLength)
				{
					nBytesRead=SF.Read(pBuffer,(AVLength-nAV*(0x1000)));
					f5.Write(pBuffer,nBytesRead);
				}
				f5.Close();			
				}



			case 4:
				if(m_SelectFolderSplit.GetAt(nStringLen-1)!='\\')
				{
				str4=m_SelectFolderSplit+_T("\\")+m_SplitFileName+_T(".X04");
				CFile f4(str4,CFile::modeCreate|CFile::modeReadWrite);
				for(i=0;i<nAV;i++)
				{
					nBytesRead=SF.Read(pBuffer,0x1000);
					f4.Write(pBuffer,nBytesRead);
				}
				if(nAV*(0x1000)<AVLength)
				{
					nBytesRead=SF.Read(pBuffer,(AVLength-nAV*(0x1000)));
					f4.Write(pBuffer,nBytesRead);
				}
				f4.Close();				
				}
				else
				{
				str4=m_SelectFolderSplit+m_SplitFileName+_T(".X04");
				CFile f4(str4,CFile::modeCreate|CFile::modeReadWrite);
				for(i=0;i<nAV;i++)
				{
					nBytesRead=SF.Read(pBuffer,0x1000);
					f4.Write(pBuffer,nBytesRead);
				}
				if(nAV*(0x1000)<AVLength)
				{
					nBytesRead=SF.Read(pBuffer,(AVLength-nAV*(0x1000)));
					f4.Write(pBuffer,nBytesRead);
				}
				f4.Close();				
				}

			case 3:
				if(m_SelectFolderSplit.GetAt(nStringLen-1)!='\\')
				{
				str3=m_SelectFolderSplit+_T("\\")+m_SplitFileName+_T(".X03");
				CFile f3(str3,CFile::modeCreate|CFile::modeReadWrite);
				for(i=0;i<nAV;i++)
				{
					nBytesRead=SF.Read(pBuffer,0x1000);
					f3.Write(pBuffer,nBytesRead);
				}
				if(nAV*(0x1000)<AVLength)
				{
					nBytesRead=SF.Read(pBuffer,(AVLength-nAV*(0x1000)));
					f3.Write(pBuffer,nBytesRead);
				}
				f3.Close();				
				}
				else
				{
				str3=m_SelectFolderSplit+m_SplitFileName+_T(".X03");
				CFile f3(str3,CFile::modeCreate|CFile::modeReadWrite);
				for(i=0;i<nAV;i++)
				{
					nBytesRead=SF.Read(pBuffer,0x1000);
					f3.Write(pBuffer,nBytesRead);
				}
				if(nAV*(0x1000)<AVLength)
				{
					nBytesRead=SF.Read(pBuffer,(AVLength-nAV*(0x1000)));
					f3.Write(pBuffer,nBytesRead);
				}
				f3.Close();				
				}

			case 2:
				if(m_SelectFolderSplit.GetAt(nStringLen-1)!='\\')
				{
				str1=m_SelectFolderSplit+_T("\\")+m_SplitFileName+_T(".X01");
				str2=m_SelectFolderSplit+_T("\\")+m_SplitFileName+_T(".X02");
				CFile f1(str1,CFile::modeCreate|CFile::modeReadWrite);
				CFile f2(str2,CFile::modeCreate|CFile::modeReadWrite);
				
				for(i=0;i<nAV;i++)
				{
					nBytesRead=SF.Read(pBuffer,0x1000);
					f2.Write(pBuffer,nBytesRead);
				}
				if(nAV*(0x1000)<AVLength)
				{
					nBytesRead=SF.Read(pBuffer,(AVLength-nAV*(0x1000)));
					f2.Write(pBuffer,nBytesRead);
				}
				f2.Close();

				for(i=0;i<nLST;i++)
				{
					nBytesRead=SF.Read(pBuffer,0x1000);
					f1.Write(pBuffer,nBytesRead);
				}
				if(nLST*(0x1000)<LSTLength)
				{
					nBytesRead=SF.Read(pBuffer,(LSTLength-nLST*(0x1000)));
					f1.Write(pBuffer,nBytesRead);
				}
				f1.Close();
				break;				
				}
				else
				{
				str1=m_SelectFolderSplit+m_SplitFileName+_T(".X01");
				str2=m_SelectFolderSplit+m_SplitFileName+_T(".X02");
				CFile f1(str1,CFile::modeCreate|CFile::modeReadWrite);
				CFile f2(str2,CFile::modeCreate|CFile::modeReadWrite);
				
				for(i=0;i<nAV;i++)
				{
					nBytesRead=SF.Read(pBuffer,0x1000);
					f2.Write(pBuffer,nBytesRead);
				}
				if(nAV*(0x1000)<AVLength)
				{
					nBytesRead=SF.Read(pBuffer,(AVLength-nAV*(0x1000)));
					f2.Write(pBuffer,nBytesRead);
				}
				f2.Close();

				for(i=0;i<nLST;i++)
				{
					nBytesRead=SF.Read(pBuffer,0x1000);
					f1.Write(pBuffer,nBytesRead);
				}
				if(nLST*(0x1000)<LSTLength)
				{
					nBytesRead=SF.Read(pBuffer,(LSTLength-nLST*(0x1000)));
					f1.Write(pBuffer,nBytesRead);
				}
				f1.Close();
				break;				
				}

    		default:
				AfxMessageBox("“对不起,分割文件没有成功!可能您的操作有误。”",MB_ICONEXCLAMATION|MB_OK);
				break;
			}
			SF.Close();


			///////Clear files size.
			//SetDlgItemInt(IDC_AVFILELENGTH,0,FALSE);
			//SetDlgItemInt(IDC_LASTFILELENGTH,0,FALSE);


			//Create *.XXQ file.
			if(m_SelectFolderSplit.GetAt(nStringLen-1)!='\\')
			{
				CString str_xxq=m_SelectFolderSplit+_T("\\")+m_SplitFileName+_T(".XXQ");
				CFile f_xxq(str_xxq,CFile::modeCreate|CFile::modeReadWrite);
				UINT* pBff;
				pBff=&m_SplitNum;
				f_xxq.Write(pBff,sizeof(UINT));
				f_xxq.Close();
			}
			else
			{
				CString str_xxq=m_SelectFolderSplit+m_SplitFileName+_T(".XXQ");
				CFile f_xxq(str_xxq,CFile::modeCreate|CFile::modeReadWrite);
				UINT* pBff;

				pBff=&m_SplitNum;
				f_xxq.Write(pBff,sizeof(UINT));
				f_xxq.Close();	
			}
			AfxMessageBox("“文件分割成功!”",MB_ICONEXCLAMATION|MB_OK);
			CString m_tmpSplitFilePath=_T("");
			SetDlgItemText(IDC_SPLITEDIT,m_tmpSplitFilePath);			
			
			///////Clear files size.
			SetDlgItemInt(IDC_AVFILELENGTH,0,FALSE);
			SetDlgItemInt(IDC_LASTFILELENGTH,0,FALSE);
			
			//resume original setting.
			SetDlgItemInt(IDC_SPLITNUM,2,FALSE);
			SetDlgItemText(IDC_SELECTFOLDEREDITSPLIT,NULL);

			}
			}
		}
	}
}

void CSplitterView::OnIncreasebutton() 
{
	// TODO: Add your control notification handler code here
	BOOL bUpData;
	bUpData=UpdateData(TRUE);
	if(bUpData)
	{
		if(!GetDlgItemText(IDC_SPLITEDIT,m_SplitFilePath))
			AfxMessageBox("“您没有输入或选定文件名!”",MB_ICONEXCLAMATION|MB_OK);
		else
		{
			m_SplitNum=GetDlgItemInt(IDC_SPLITNUM,NULL,FALSE);
			if(m_SplitNum>=20)
			{
				AfxMessageBox("“对不起,分割份数只能在2至20之间!作者认为太多了也没多大意思!”",MB_ICONINFORMATION|MB_OK);
			}
			else
			{
				m_SplitNum++;
				SetDlgItemInt(IDC_SPLITNUM,m_SplitNum,FALSE);
				CFile fIn(m_SplitFilePath,CFile::modeRead);
				FSLength=(LONG)fIn.GetLength();
				AVLength=FSLength/m_SplitNum;
				LSTLength=FSLength-AVLength*(m_SplitNum-1);
				SetDlgItemInt(IDC_AVFILELENGTH,AVLength,FALSE);
				SetDlgItemInt(IDC_LASTFILELENGTH,LSTLength,FALSE);
				fIn.Close();
			}
		}
	}
}

void CSplitterView::OnDecreasebutton() 
{
	// TODO: Add your control notification handler code here
	BOOL bUpData;
	bUpData=UpdateData(TRUE);
	if(bUpData)
	{
		if(!GetDlgItemText(IDC_SPLITEDIT,m_SplitFilePath))
			AfxMessageBox("“您没有输入或选定文件名!”",MB_ICONEXCLAMATION|MB_OK);
		else
		{
			m_SplitNum=GetDlgItemInt(IDC_SPLITNUM,NULL,FALSE);
			if(m_SplitNum<=2||m_SplitNum>20)
			{
				AfxMessageBox("“对不起,分割份数只能在2至20之间!太多了也没多大意思!”",MB_ICONINFORMATION|MB_OK);
			}
			else
			{
				m_SplitNum--;
				SetDlgItemInt(IDC_SPLITNUM,m_SplitNum,FALSE);
				CFile fDe(m_SplitFilePath,CFile::modeRead);
				FSLength=(LONG)fDe.GetLength();
				AVLength=FSLength/m_SplitNum;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -