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

📄 maincopy.cpp

📁 用C++ builer 实现的关于文件操作经典实例 里面有所有工程需要的源代码
💻 CPP
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop

#include "MainCopy.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TMainForm *MainForm;

//---------------------------------------------------------------------------
__fastcall TMainForm::TMainForm(TComponent* Owner)
     : TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TMainForm::Select1ButtonClick(TObject *Sender)
{
     if (OpenDialog1->Execute())
     {
          Edit1->Text=OpenDialog1->FileName;
     }
}
//---------------------------------------------------------------------------

void __fastcall TMainForm::Select2ButtonClick(TObject *Sender)
{
     if (OpenDialog1->Execute())
          Edit2->Text=OpenDialog1->FileName;
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::CopyButtonClick(TObject *Sender)
{
     if(Edit1->Text=="")
     {
         ShowMessage("请输入源文件名!");
         return;
     }
     if(Edit2->Text=="")
     {
         ShowMessage("请输入目的文件名!");
         return;
     }
     filename1= Edit1->Text;
     filename2= Edit2->Text;
   //判断文件是否存在
     findfile=FindFirstFile(filename1.c_str(),find);
     if(findfile == INVALID_HANDLE_VALUE)
     {
          ShowMessage("源文件不存在或文件名错!");
          return;
     }
     else FindClose(findfile);
//==========================================================
     int iFileHandle;
     Animate1->Visible=true;
     Animate1->Active=true;
     if (RadioButton1->Checked)
     {
         if(CopyFile(filename1.c_str(),
                    filename2.c_str(),0)==true)
         {
            Animate1->Active=false;
            ShowMessage("复制文件成功!");
         }
         else
            ShowMessage("复制文件失败!");
     }
     else if (RadioButton2->Checked){
          iFileHandle = FileOpen(filename1, fmOpenRead);

          THandleStream *hStream =
               new THandleStream(iFileHandle);
          TMemoryStream *mStream =
               new TMemoryStream();
          mStream->CopyFrom(hStream,hStream->Size);
          mStream->SaveToFile(filename2);
          delete mStream;
          delete hStream;
          FileClose(iFileHandle);
          Animate1->Active=false;
          ShowMessage("复制文件成功!");
     }
     else if (RadioButton3->Checked)
     {
          TFileStream *fStream =
               new TFileStream(filename1,fmOpenRead);
          TMemoryStream *mStream =
               new TMemoryStream();
          mStream->CopyFrom(fStream,fStream->Size);
          mStream->SaveToFile(filename2);
          delete mStream;
          delete fStream;
          Animate1->Active=false;
          ShowMessage("复制文件成功!");
     }
          Animate1->Visible=false;
}
//---------------------------------------------------------------------------

void __fastcall TMainForm::FormDestroy(TObject *Sender)
{
        if (findfile!=NULL)
           delete findfile;
        if (find!=NULL)
           delete find;

}
//---------------------------------------------------------------------------

void __fastcall TMainForm::FormCreate(TObject *Sender)
{
     findfile = new HANDLE;
     find = new  WIN32_FIND_DATA;

}
//---------------------------------------------------------------------------





⌨️ 快捷键说明

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