Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Делфи _ Сортировка StringGrid'а

Автор: nblazhko 21.05.2008 2:33

Сделал сортировку,сортирует верно но результат выводит в стринг грид через несколько строк,тоесть первые несколько строк пустые


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 22.05.2008 0:38

По всей видимости у вас в гриде есть строки, где первая (сотрируемая) колонка пустая. Они то и попадают наверх в при выполнении сортировки

Автор: hardcase 25.05.2008 22:58

Писать собственноручно сортировку - глупо.
Гораздо проще в StringList скопировать содержимое ячеек из столбца сетки, по которому производится сортировка. В поле ptr (или object) можно записать номер строки каждой ячейки.
Далее вызваем метод Sort и считваем последновательно список.