C++ builder XE二种载入文件的方法OpenDialog多文件载入与FolderDialog文件夹载入

调试环境:win7,C++ builder XE 10.2,TMS组件调试通过。

功能实现:实现了TOpenDialog组件多文件载入与TFolderDialog组件文件夹载入这是一个TMS组件。

实例如下图,有源码下载,和源码查看。源码可以在CSDN下载:

https://download.csdn.net/download/lzksword/13944637

//---------------------------------------------------------------------------

//直接选取多文件方法,OpenDialog多文件载入

//---------------------------------------------------------------------------

void __fastcall TForm1::BitBtn1Click(TObject *Sender)

{

OpenDialog1->Options<<ofAllowMultiSelect<<ofFileMustExist;//允许选择多个文件

OpenDialog1->Title="请选择导入的文件!";

OpenDialog1->Filter="直选大底 每行一注(*.txt)|*.txt|ALL Files(*.*)|*.*";

//设置文件过滤

OpenDialog1->DefaultExt="TXT";

//设置缺省扩展名

//BitBtn1图片要在上方,得设置layout为blglyphTop

//OpenDialog1->ofAllowMultiSelect=true!

//

int num,Lnum;

if(OpenDialog1->Execute())

{

num=OpenDialog1->Files->Count;

Lnum=ListView1->Items->Count;

//为空退出

if (num==0)

return;

//

ListView1->Items->BeginUpdate();

TListItem *pItem=0;

for(int i=0;i<num;i++)

{

pItem=ListView1->Items->Add();

pItem->Caption=Lnum+i+1;

pItem->SubItems->Add(ExtractFileName(OpenDialog1->Files->Strings[i]));

        pItem->SubItems->Add("***"); //注数

        pItem->SubItems->Add(OpenDialog1->Files->Strings[i]); //注数

          pItem->SubItems->Add("*");

}

ListView1->Items->EndUpdate();

Lnum=ListView1->Items->Count;

ListView1->Columns->Items[0]->Caption="id ["+AnsiString(Lnum)+"]";

}

}

 

//---------------------------------------------------------------------------

//用选取文件夹来载入所有文件,FolderDialog文件夹载入(这是一个TMS组件)

//---------------------------------------------------------------------------

void __fastcall TForm1::BitBtn2Click(TObject *Sender)

{

AnsiString Dir="";

 

       //Dir里保存着所选的文件夹绝对路径

 

   if(FolderDialog1->Execute())

   {

    Dir =FolderDialog1->Directory;

 

   }

 

  //-----------------------

   if (Dir.Length()==0)

     return;

   int num,Lnum;

   Lnum=ListView1->Items->Count;

 

   TListItem *pItem=0;

   TSearchRec   sr;

 

   if   (FindFirst(Dir+"\\*.txt",faAnyFile,sr)   ==   0)

     {   ListView1->Items->BeginUpdate();

       TStringList *Flist =new TStringList;

       Flist->Clear();

       do

       {

           pItem=ListView1->Items->Add();

           pItem->Caption=Lnum+1;

           pItem->SubItems->Add(sr.Name);

           pItem->SubItems->Add("***"); //注数

           pItem->SubItems->Add(Dir+"\\"+sr.Name); //注数

          Lnum++;

       } while(FindNext(sr) == 0);

       FindClose(sr);

       ListView1->Items->EndUpdate();

     }

     Lnum=ListView1->Items->Count;

     ListView1->Columns->Items[0]->Caption="id ["+AnsiString(Lnum)+"]";

}

 

//---------------------------------------------------------------------------

//全选文件

//---------------------------------------------------------------------------

 

void __fastcall TForm1::BitBtn3Click(TObject *Sender)

{

//全选文件

          for(int   i=0;i<ListView1->Items->Count;++i)

                     {

 

                              //ListView1->Items->Item[i]->Selected=true;

                                     ListView1->Items->Item[i]->Checked=true;

                              }

}

//---------------------------------------------------------------------------

//反选文件

//--------------------------------------------------------------------------

void __fastcall TForm1::BitBtn4Click(TObject *Sender)

{

           for(int   i=0;i<ListView1->Items->Count;++i)

                     {

 

                              //ListView1->Items->Item[i]->Selected=true;

                              if (ListView1->Items->Item[i]->Checked==true)

                                     ListView1->Items->Item[i]->Checked=false;

                              else

                                     ListView1->Items->Item[i]->Checked=true;

                     }

}

//---------------------------------------------------------------------------

//删除文件

//--------------------------------------------------------------------------

void __fastcall TForm1::BitBtn5Click(TObject *Sender)

{

 //删除文件

for(int   i=ListView1->Items->Count-1;i>=0;i--)

{

if(ListView1->Items->Item[i]->Checked==true )

ListView1->Items->Delete(i);

 

}

int Lnum=ListView1->Items->Count;

 

          ListView1->Columns->Items[0]->Caption="id ["+AnsiString(Lnum)+"]";

}

 

 

//---------------------------------------------------------------------------

//清空文件

//--------------------------------------------------------------------------

void __fastcall TForm1::BitBtn6Click(TObject *Sender)

{

//清空文件

ListView1->Clear();

//RzToolButton4->Click();

int Lnum=ListView1->Items->Count;

 

          ListView1->Columns->Items[0]->Caption="id ["+AnsiString(Lnum)+"]";

}

//---------------------------------------------------------------------------

下载源码地址:https://www.doc88.com/p-27787034380513.html

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lzksword

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值