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(); }