C++ builder XE10 AdvStringGrid添加进度条与按进度条排序算法

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