?? unit1.cpp
字號:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::DoCutFile(AnsiString sfilename,AnsiString dfilename)
{
int sfile,count;
int rt;
//打開文件
sfile=FileOpen(sfilename,fmOpenRead);
if(sfile==-1)return;
count=1;
do{
rt=CopyOne(sfile,dfilename,count);
count++;
}while(rt==0);
FileClose(sfile);
Application->MessageBox("文件分割完畢!","提示",MB_OK);
}
//---------------------------------------------------------------------------
int __fastcall TForm1::CopyOne(int sfile,AnsiString dfilename,int no)
{
char * MyBuff;
int rt;
AnsiString ass;
int bn,ii,nn;
MyBuff=new char[10010];
if(MyBuff==NULL)
{
Application->MessageBox("系統內存不夠!","提示",MB_OK);
return -1;
}
ass="生成第 "+IntToStr(no)+" 個分割文件";
Application->MessageBox(ass.c_str(),"提示",MB_OK);
while(!TestDiskFree())
{
ass="磁盤空間不夠!\n要求空間為1,400,300字節!\n繼續嗎?";
bn=Application->MessageBox(ass.c_str(),"提示",MB_YESNO);
if(bn!=IDYES)return -1;
}
bn=FileCreate(dfilename+"."+IntToStr(no));
rt=0;
for(ii=0;ii<140;ii++)
{
nn=FileRead(sfile,MyBuff,10000);
FileWrite(bn,MyBuff,nn);
if(nn!=10000)
{
rt=1;
break;
}
}
FileClose(bn);
delete MyBuff;
return rt;
}
//---------------------------------------------------------------------------
bool __fastcall TForm1::TestDiskFree(void)
{
__int64 ll;
ll=DiskFree(0);
if(ll<1403000L)return False;
else return True;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
if(OpenDialog1->Execute())
{
Edit1->Text=OpenDialog1->FileName;
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
int ll,ii;
AnsiString ass;
if(SaveDialog1->Execute())
{
Edit2->Text=SaveDialog1->FileName;
ass=Edit2->Text;
ll=ass.Length();
for(ii=ll;ii>0;ii--)
{
if(ass.SubString(ii,1)==".")
{
ass=ass.SubString(1,ii-1);
Edit2->Text=ass;
break;
}
}
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
{
DoCutFile(Edit1->Text,Edit2->Text);
}
//---------------------------------------------------------------------------
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -