void TSkyGridEnt::GetDocsPerDateV( const TSkyGridBs* SkyGridBs, TStrIntPrV& DateStrDocsPrV, int& Docs) const { TStrIntH DateStrToDocsH; Docs=0; for (int DocN=0; DocN<GetDocIds(); DocN++){ int DocId=GetDocId(DocN); PSkyGridDoc Doc=SkyGridBs->GetDoc(DocId); uint64 DocTm=Doc->GetTm(); TStr DocDateStr=TTm::GetTmFromMSecs(DocTm).GetWebLogDateStr(); DateStrToDocsH.AddDat(DocDateStr)++; Docs++; } DateStrToDocsH.GetKeyDatPrV(DateStrDocsPrV); DateStrDocsPrV.Sort(); }
void __fastcall TContexterF::NmObjSortRgClick(TObject *Sender){ // select radio-group & list-box TRadioGroup* NmObjSortRg=NULL; TListBox* NmObjLb=NULL; if (Sender==CtxNmObjSortRg){NmObjSortRg=CtxNmObjSortRg; NmObjLb=CtxNmObjLb;} else if (Sender==SrcNmObjSortRg){NmObjSortRg=SrcNmObjSortRg; NmObjLb=SrcNmObjLb;} else if (Sender==DstNmObjSortRg){NmObjSortRg=DstNmObjSortRg; NmObjLb=DstNmObjLb;} else {return;} // determine sort-order bool SortByNameP=false; if (NmObjSortRg->ItemIndex==0){SortByNameP=true;} else if (NmObjSortRg->ItemIndex==1){SortByNameP=false;} else {NmObjSortRg->ItemIndex=1; SortByNameP=false;} // fill NmObjLb NmObjLb->Clear(); EnConceptWordLb->Clear(); EnCoNmObjLb->Clear(); if (SortByNameP){ //...sorted by name TStrIntPrV NmObjStrFqPrV; State->NmObjBs->GetNmObjStrFqPrV(NmObjStrFqPrV, 3); NmObjStrFqPrV.Sort(); for (int NmObjN=0; NmObjN<NmObjStrFqPrV.Len(); NmObjN++){ TStr LbItemStr=NmObjStrFqPrV[NmObjN].Val1+ TInt::GetStr(NmObjStrFqPrV[NmObjN].Val2, " (%d)"); NmObjLb->Items->Add(LbItemStr.CStr()); } } else { //...sorted by frequency TIntStrPrV NmObjFqStrPrV; State->NmObjBs->GetNmObjFqStrPrV(NmObjFqStrPrV, 3); NmObjFqStrPrV.Sort(false); for (int NmObjN=0; NmObjN<NmObjFqStrPrV.Len(); NmObjN++){ TStr LbItemStr=NmObjFqStrPrV[NmObjN].Val2+ TInt::GetStr(NmObjFqStrPrV[NmObjN].Val1, " (%d)"); NmObjLb->Items->Add(LbItemStr.CStr()); } } }