C++ builder XE listview组件表格数据保存与载入实例
以下实例是将listview组件表格中的数据保存到文件中,然后也可以载入的处理方法。
先将listview数据表格每一行读取出来当成一条记录装入TStringList内,再保存出来。载入过滤相反。
//---------------------------------------------------------------------------
//保存listview表格数据文件
void __fastcall TForm1::RzToolButton6Click(TObject *Sender)
{
//保存条件
TStringList *TJstr=new TStringList();
TJstr->Clear();
for (int i = 0; i <RzListView1->Items->Count ; i++)
{
TJstr->Add(RzListView1->Items->Item[i]->Caption +"$"+
RzListView1->Items->Item[i]->SubItems->Strings[0] +"$"+
RzListView1->Items->Item[i]->SubItems->Strings[1] +"$"+
RzListView1->Items->Item[i]->SubItems->Strings[2] +"$"+
RzListView1->Items->Item[i]->SubItems->Strings[3] +"$"+
RzListView1->Items->Item[i]->SubItems->Strings[4] );
}
//TJstr->DelimitedText=AnsiReplaceStr(TJstr->DelimitedText,"\r\n","|");
//保存交集容错注数
Form5->SaveDialog1->Title="请选择保存文件!";
Form5->SaveDialog1->Filter="保存属性(*.ftj)|*.ftj|ALL Files(*.*)|*.*";
//设置文件过滤条件
Form5->SaveDialog1->DefaultExt=String("ftj");
//设置缺省扩展名
if(Form5->SaveDialog1->Execute())
{
TJstr->SaveToFile(Form5->SaveDialog1->FileName.c_str());
}
}
//---------------------------------------------------------------------------
//载入listview表格数据文件。
void __fastcall TForm1::RzToolButton7Click(TObject *Sender)
{
//载入条件
Form5->OpenDialog1->Title="请选择载入文件!";
Form5->OpenDialog1->Filter="载入属性(*.ftj)|*.ftj|ALL Files(*.*)|*.*";
//设置文件过滤条件
Form5->OpenDialog1->DefaultExt=String("ftj");
//设置缺省扩展名
if(Form5->OpenDialog1->Execute())
{
TListItem *pItem=0;
TStringList *TJfile;
TJfile=new TStringList;
TJfile->Delimiter='|';
TStringList *TJs=new TStringList;
TJs->Delimiter='$';
AnsiString Sa=Form5->OpenDialog1->FileName;
TJfile->LoadFromFile(Sa.c_str());
//保存数据
RzListView1->Items->Clear();
for(int i=0;i<TJfile->Count;i++)
{
TJs->DelimitedText=TJfile->Strings[i]; //载入每条记录
pItem=RzListView1->Items->Add();
pItem->Caption=TJs->Strings[0]; // ;
pItem->SubItems->Add(TJs->Strings[1]);
pItem->SubItems->Add(TJs->Strings[2]);
pItem->SubItems->Add(TJs->Strings[3]);
pItem->SubItems->Add(TJs->Strings[4]);
pItem->SubItems->Add(TJs->Strings[5]);
}
delete TJfile;
delete TJs;
}
}