C++ Builder Snippets  

TStrings numerisch sortieren:
 
//---------------------------------------------------------------------------
//  Sortiert Strings in TStrings "numerisch"
//  Anwendbar auf alle VCL-Komponenten, die mit TStrings arbeiten:
//  TStringList, TListBox, TComboBox etc.
//
//  Anwendung:
//  ---------
//  NumStringSort(ListBox1 -> Items);  // für TListBox, TComboBox etc.
//  NumStringSort(StringList1);        // für TStringList
//
//  Achtung: Strings, die nicht zum Integer konvertiert werden können, werden
//           gegen "0" ersetzt !
//---------------------------------------------------------------------------
void NumStringSort(TStrings* slStrings)
{
  int i, j, k, min;
  for(i = 0; i < slStrings -> Count - 1; i++)
  {
    k = i;
    for(j=i+1; j < slStrings -> Count; j++)
    {
      if(slStrings -> Strings[j].ToIntDef(0) <
        slStrings -> Strings[k].ToIntDef(0)) k = j;
    }
    min = slStrings -> Strings[k].ToIntDef(0);
    slStrings -> Strings[k] = slStrings -> Strings[i];
    slStrings -> Strings[i] = IntToStr(min);
  }
}



© '99-2000 by S. Kreutzmann