本文整理汇总了C++中TStringList::Sort方法的典型用法代码示例。如果您正苦于以下问题:C++ TStringList::Sort方法的具体用法?C++ TStringList::Sort怎么用?C++ TStringList::Sort使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TStringList
的用法示例。
在下文中一共展示了TStringList::Sort方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: apply
//---------------------------------------------------------------------------
void TfrmMain::apply(::Move& move)
{
TStringsEnumerator *e = move.getEffects()->GetEnumerator();
while(e->MoveNext())
{
if(e->Current[1] == '!')
{
Memo5->Lines->Delete(Memo5->Lines->IndexOf(e->Current.SubString(2,e->Current.Length())) );
}
else //add something
{
Memo5->Lines->Add(e->Current);
}
}
TStringList *tmpState = new TStringList();
TStringsEnumerator *eM = Memo5->Lines->GetEnumerator();
while(eM->MoveNext())
{
tmpState->Add(eM->Current);
}
Memo5->Clear();
tmpState->Sort();
Memo5->Lines->AddStrings(tmpState);
tmpState->Free();
eM->Free();
}
示例2: WMDropFiles
void __fastcall TfrmMain::WMDropFiles(TWMDropFiles& Message)
{
int Count = DragQueryFile(reinterpret_cast<void*>(Message.Drop), 0xFFFFFFFF, NULL, 0);
try
{
char FileBuf[MAX_PATH+1];
if (Count > 0)
{
TStringList* FileList = new TStringList();
try
{
for (int i = 0; i < Count; i++)
{
DragQueryFile(reinterpret_cast<void*>(Message.Drop), i, FileBuf, sizeof(FileBuf));
FileList->Add(FileBuf);
}
FileList->Sort();
reSource->Lines->BeginUpdate();
try
{
reSource->Lines->Clear();
for (int i = 0; i < FileList->Count; i++)
reSource->Lines->Add(StringFromFile(FileList->Strings[i]));
}
__finally
{
reSource->Lines->EndUpdate();
}
}
__finally
{
delete FileList;
}
}
} __finally {
示例3: EnumFonts
//---------------------------------------------------------------------------
void __fastcall TFontMakerForm::EnumFonts()
{
FontSelectComboBox->Items->Clear();
::EnumFonts(Canvas->Handle, NULL, (int (__stdcall *)())FontEnumProc,
reinterpret_cast<LPARAM>(this));
TStringList *list = new TStringList();
list->Assign(FontSelectComboBox->Items);
list->Sort();
FontSelectComboBox->Items->Assign(list);
delete list;
int n = FontSelectComboBox->Items->IndexOf(Canvas->Font->Name);
if(n!=-1)
{
FontSelectComboBox->ItemIndex = n;
}
else
{
int n = FontSelectComboBox->Items->IndexOf(CreateButton->Font->Name);
if(n != -1)
FontSelectComboBox->ItemIndex = n;
else
FontSelectComboBox->ItemIndex = 0;
}
}
示例4: ZaladujDaneProduktu
//---------------------------------------------------------------------------
/// Metoda odpowiada za wyci¹gniêcie oraz sparsowanie poszczególnych danych produktu
/// po czym przypisuje te dane do przekazanego obiektu.
void __fastcall ParsujDane::ZaladujDaneProduktu()
{
AnsiString znacznikDaneProduktu, znacznikMarka, nazwaMarki, znacznikModel, nazwaModel, znacznikKod, kodProduktu,
znacznikRodzUrz, rodzajUrzadzenia, znacznikKategoria, kategoria, dodUwagi, str;
int index;
TStringList *listaKat = new TStringList;
try
{
listaKat->Add("Komputery");
listaKat->Add("Fotografia");
listaKat->Add("Telefony_i_akcesoria");
listaKat->Sort();
//----
znacznikDaneProduktu = "keys : [";
DaneProduktuText = ZnajdzDane(Text, znacznikDaneProduktu, ']');
UsunZnacznik(DaneProduktuText, "'");
//---- `
znacznikKategoria = "Cat1: \'";
kategoria = ZnajdzDane(Text, znacznikKategoria, '\'');
bool x = listaKat->Find(kategoria, index);
if (!listaKat->Find(kategoria, index))
{
BladKategorii = true;
ShowMessage("Proces parsowania tekstu nie powiód³ siê - brak parsera dla wybranej kategorii!");
return;
}
//----
znacznikMarka = "\"Producent: ";
nazwaMarki = ZnajdzDane(DaneProduktuText, znacznikMarka, '\"');
//----
znacznikModel = "\"" + nazwaMarki;
znacznikModel = znacznikModel.LowerCase();
DaneProduktuText = DaneProduktuText.LowerCase();
nazwaModel = ZnajdzDane(DaneProduktuText, znacznikModel, '\"');
//----
while (true)
{
DaneProduktuText.Delete(DaneProduktuText.Pos(","), 1);
if (DaneProduktuText.IsEmpty()) break;
str = ZnajdzDane(DaneProduktuText, '\"', '\"');
if (str.Pos(":") == 0) continue;
dodUwagi += str + ";";
}
//----
znacznikKod = "productID: \'";
kodProduktu = ZnajdzDane(Text, znacznikKod, '\'');
//----
znacznikRodzUrz = "catmin: \'";
rodzajUrzadzenia = ZnajdzDane(Text, znacznikRodzUrz, '\'');
// ----
FProdukt->DodajDaneProduktu(nazwaMarki, nazwaModel, kodProduktu.ToInt(), rodzajUrzadzenia, dodUwagi);
}
catch(...) { if (listaKat != NULL) delete listaKat; listaKat = NULL; throw; }
if (listaKat != NULL) delete listaKat;
listaKat = NULL;
}
示例5: FillGroup
void __fastcall TPreferencencesForm::FillGroup(AnsiString Name)
{
g_pLocalStrings->SelectSection("PreferencencesForm");
String Caption = g_pLocalStrings->GetSectionStringW(Name.c_str());
AnsiString PluginClassName = "PPrefs_"+Name;
IDCMapSys* pSys = GetDCMapSys();
TStringList* List = new TStringList;
if(pSys->SelectClass(PluginClassName.c_str()))
{
TTreeNode* pNode = TreeView->Items->Add(0,Caption);
do
{
List->Add(pSys->GetPluginName());
}
while(pSys->Next());
List->Sort();
for(int i=0;i<List->Count;i++)
{
IDCMapVCLPanel* pPanel;
pPanel = GetDCMapCore()->CreateModuleTyped<IDCMapVCLPanel>(PluginClassName.c_str(),List->Strings[i].c_str());
if(!pPanel)continue;
TFrame* pFrame = pPanel->CreateFrame();
pFrame->Align = alClient;
pFrame->Visible = false;
pFrame->Parent = ClientPanel;
m_vecPanels.push_back(pPanel);
TreeView->Items->AddChildObject(pNode,pPanel->GetCaption(),pFrame);
}
delete List;
}
}