@Gioo12x

Как исправить код сортировки по алфавиту StringGrid в c++ builder rad studio?

Помогите пожалуста. Код сортирует по алфавиту только первый столбец а мне нужен третий. И он удаляет строки кроме ячеек первого столбца такого не должно быть. Строки ячеек каторыя сортируются должны перемещатся с этими же ячейками.
Вот код:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
    TStringList *List = new TStringList;
    int i, j, k;
    String Temp;

    // Заполняем TStringList содержимым из StringGrid
    for (i = 1; i < StringGrid1->RowCount; i++)
    {
        Temp = "";
        for (j = 0; j < StringGrid1->ColCount; j++)
        {
            Temp += StringGrid1->Cells[j][i] + "\t";
        }
        List->Add(Temp);
    }

    // Сортируем TStringList
    List->Sort();

    // Заполняем StringGrid отсортированными значениями
    for (i = 1; i < StringGrid1->RowCount; i++)
    {
        Temp = List->Strings[i - 1];
        k = 0;
        for (j = 0; j < StringGrid1->ColCount; j++)
        {
            StringGrid1->Cells[j][i] = Temp.SubString(k + 1, Temp.Pos("\t") - k - 1);
            k = Temp.Pos("\t");
            Temp.Delete(1, k);
        }
    }

    delete List;
}
  • Вопрос задан
  • 110 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы