StringGrid mit Bubblesort sortieren nach String



  • Hallo,

    wie kann man mit den u.g. BubbleSort nach einen String (Namen) sortieren.

    Mit dem Datum und mit Int funktioniert es.

    Aber wie kann man es mit einen String machen???

    void __fastcall TForm2::BubbleSortColumn(TStringGrid *grid, int Column, bool Desc)
    {
      // fixe zeilen ignorieren
      int fr  = grid->FixedRows;
      int anz = grid->RowCount;
    
      // vom ende bis anfang alle zeilen durchgehen
      for (int j = anz - 1; j > fr; j--)
      {
    	// vom anfang bis ende alle zeilen durchgehen
    	for (int i = fr; i < j; i++)
    	{
    	  // die zu vergleichenden werte bestimmen
    	  int a = StrToDate(grid->Cells[Column][i]);
    	  int b = StrToDate(grid->Cells[Column][i + 1]);
    
    	  // vergleich (aufsteigen oder absteigend)
    	  if (Desc ? (a > b) : (a < b))
    	  {
    		// zeilen tauschen
    		AnsiString tmp               = grid->Rows[i]->CommaText;
    		grid->Rows[i]->CommaText     = grid->Rows[i + 1]->CommaText;
    		grid->Rows[i + 1]->CommaText = tmp;
    	  }
    	}
      }
    }
    

    Das muss man doch hier umstellen können.

    // die zu vergleichenden werte bestimmen
          int a = StrToDate(grid->Cells[Column][i]);
          int b = StrToDate(grid->Cells[Column][i + 1]);
    


  • Hat sich erledigt.

    Das ist doch so einfach, manchmal sieht man......

    String a = (grid->Cells[Column][i]);
    String b = (grid->Cells[Column][i + 1]);


Log in to reply