C++ builder XE10 AdvStringGrid添加进度条与按进度条排序算法
其他
2020-04-17 11:18:28
阅读次数: 0
AdvStringGrid添加进度条与按进度条排序算法
void __fastcall TForm1::BitBtn7Click(TObject *Sender)
{
if(ButtonedEdit1->Text.Length()<3)
return;
TStringList *Fload=new TStringList;
Fload->LoadFromFile(ButtonedEdit1->Text);
if(Fload->Count<=0)
return;
//
TStringList *PPload=new TStringList;
float XSd=0;
Fload->DelimitedText=Fload->Text;
float Xsum=Fload->Count;
for(int i=1;i<AdvStringGrid1->RowCount;i++)
{
XSd=0;
PPload->LoadFromFile(AdvStringGrid1->Cells[9][i] );
PPload->DelimitedText=PPload->Text;
for(int j=0;j<PPload->Count;j++)
{
if(PPload->Strings[j].Length()>0)
{
if(Fload->Text.Pos(PPload->Strings[j]))
{
XSd++;
}
}
}
//标记进条件条百分比例显示
AdvStringGrid1->Cells[8][i]=FormatFloat("##.####",XSd/Xsum*100.00 );
AdvStringGrid1->AddProgress(8,i,clHighlight,clWhite);//白底蓝高亮进度
}
//
delete Fload;
delete PPload;
//对进度条件这一列进行排序(降序)
AdvStringGrid1->SortSettings->Column=8;
AdvStringGrid1->SortSettings->Show=true;
AdvStringGrid1->SortSettings->Direction=sdDescending; //sdAscending
AdvStringGrid1->QSort();
}
发布了41 篇原创文章 ·
获赞 12 ·
访问量 7024
转载自blog.csdn.net/lzksword/article/details/104759359