![]() |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
![]() |
nblazhko |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 42 Пол: Мужской Репутация: ![]() ![]() ![]() |
Сделал сортировку,сортирует верно но результат выводит в стринг грид через несколько строк,тоесть первые несколько строк пустые
procedure TForm3.Button1Click(Sender: TObject);
var
i,j: integer;
begin
with StringGrid1 do
begin
for j:=2 to RowCount-1 do
begin
for i:=1 to RowCount-j do
begin
if Cells[0,i]>Cells[0,i+1] then
begin
Rows[RowCount+1]:=Rows[i+1];
Rows[i+1]:=Rows[i];
Rows[i]:=Rows[RowCount+1];
end;
end;
end;
end;
end;
end.
|
![]() ![]() |
TPEMOP |
![]()
Сообщение
#2
|
Гость ![]() |
По всей видимости у вас в гриде есть строки, где первая (сотрируемая) колонка пустая. Они то и попадают наверх в при выполнении сортировки
|
hardcase |
![]()
Сообщение
#3
|
![]() code warrior ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 484 Пол: Мужской Реальное имя: Славен Репутация: ![]() ![]() ![]() |
Писать собственноручно сортировку - глупо.
Гораздо проще в StringList скопировать содержимое ячеек из столбца сетки, по которому производится сортировка. В поле ptr (или object) можно записать номер строки каждой ячейки. Далее вызваем метод Sort и считваем последновательно список. -------------------- ИзВ ин ИтЕ зА нЕ рОв НЫй П оч ЕРк
|
![]() ![]() |
![]() |
Текстовая версия | 1.08.2025 17:42 |