Сделал сортировку,сортирует верно но результат выводит в стринг грид через несколько строк,тоесть первые несколько строк пустые
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.
По всей видимости у вас в гриде есть строки, где первая (сотрируемая) колонка пустая. Они то и попадают наверх в при выполнении сортировки
Писать собственноручно сортировку - глупо.
Гораздо проще в StringList скопировать содержимое ячеек из столбца сетки, по которому производится сортировка. В поле ptr (или object) можно записать номер строки каждой ячейки.
Далее вызваем метод Sort и считваем последновательно список.