📄 splitterview.cpp
字号:
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 + -