Сортировка TStringGridDelphi , Синтаксис , СортировкаСортировка TStringGrid
Оформил: DeeCo procedure SortStringGrid(var GenStrGrid: TStringGrid; ThatCol: Integer); const // Define the Separator TheSeparator = '@'; var CountItem, I, J, K, ThePosition: integer; MyList: TStringList; MyString, TempString: string; begin // Give the number of rows in the StringGrid CountItem := GenStrGrid.RowCount; //Create the List MyList := TStringList.Create; MyList.Sorted := False; try begin for I := 1 to (CountItem - 1) do MyList.Add(GenStrGrid.Rows[I].Strings[ThatCol] + TheSeparator + GenStrGrid.Rows[I].Text); //Sort the List Mylist.Sort; for K := 1 to Mylist.Count do begin //Take the String of the line (K – 1) MyString := MyList.Strings[(K - 1)]; //Find the position of the Separator in the String ThePosition := Pos(TheSeparator, MyString); TempString := ''; {Eliminate the Text of the column on which we have sorted the StringGrid} TempString := Copy(MyString, (ThePosition + 1), Length(MyString)); MyList.Strings[(K - 1)] := ''; MyList.Strings[(K - 1)] := TempString; end; // Refill the StringGrid for J := 1 to (CountItem - 1) do GenStrGrid.Rows[J].Text := MyList.Strings[(J - 1)]; end; finally //Free the List MyList.Free; end; end; procedure TForm1.Button1Click(Sender: TObject); begin // Sort the StringGrid1 on the second Column // StringGrid1 nach der 1. Spalte sortieren SortStringGrid(StringGrid1, 1); end; Программный код на Delphi, который сортирует компонент TStringGrid по значениям в указанной колонке с помощью компонента TStringList для хранения значений из грида и алфавитного сортировки. Обзор кода:
Процедура Button1Click является обработчиком события клика кнопки. Она вызывает процедуру SortStringGrid, передавая в нее StringGrid1 и 1 (индекс второй колонки) как параметры. Предложения:
В целом, код работает корректно и обеспечивает основную функцию сортировки для TStringGrid. Однако он может улучшиться с добавлением обработки ошибок и более эффективными алгоритмами для сортировки больших данных. В статье описывается процедура для сортировки TStringGrid в Delphi, которая позволяет отсортировать строковый грид по выбранному столбцу. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: Сортировка ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |