2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Сортировка по убыванию StringGrid delphi
Сообщение23.05.2013, 23:16 
Здравствуйте . есть код сортировки по возрастанию. что нужно изменить,чтобы была сортировка по убыванию . подскажите,пожалуйста


Код:
procedure TForm9.SgSort(aSg : TStringGrid; const aCol : Integer);
var
  SlSort, SlRow : TStringList;
  i, j : Integer;
begin
  SlSort := TStringList.Create;
  for i := aSg.FixedRows to aSg.RowCount - 1 do begin
       SlRow := TStringList.Create;
    SlRow.Assign(aSg.Rows[i]);
    SlSort.AddObject(aSg.Cells[aCol, i], SlRow);
  end;
  SlSort.Sort;
  j := 0;
  for i := aSg.FixedRows to aSg.RowCount - 1 do begin
        SlRow := Pointer(SlSort.Objects[j]);
      aSg.Rows[i].Assign(SlRow);
       SlRow.Free;
       Inc(j);
  end;
  SlSort.Free;
end;

 
 
 
 Re: Сортировка по убыванию StringGrid delphi
Сообщение23.05.2013, 23:37 
Видите строку SlSort.Sort;? Это сортировка и есть.

Смотрите, как умеет сортировать TStringList.Sort. Может, по убыванию и не. (А почему TStringList? Потому что раньше SlSort := TStringList.Create;.)

 
 
 
 Re: Сортировка по убыванию StringGrid delphi
Сообщение24.05.2013, 00:03 
arseniiv в сообщении #727613 писал(а):
Видите строку SlSort.Sort;? Это сортировка и есть.

Смотрите, как умеет сортировать TStringList.Sort. Может, по убыванию и не. (А почему TStringList? Потому что раньше SlSort := TStringList.Create;.)



Вижу. ну и что из этого? как сделать,что сортировалось в обратном порядке данному?

 
 
 
 Re: Сортировка по убыванию StringGrid delphi
Сообщение24.05.2013, 00:06 
Значит, не видите:
arseniiv в сообщении #727613 писал(а):
Смотрите, как умеет сортировать TStringList.Sort. Может, по убыванию и не [умеет].

Посмотрите в справке. Возможно, у TStringList есть свойство, указывающее порядок сортировки. Возможно, метод принимает соответствующий параметр.

 
 
 
 Re: Сортировка по убыванию StringGrid delphi
Сообщение24.05.2013, 00:29 
arseniiv в сообщении #727637 писал(а):
Значит, не видите:
arseniiv в сообщении #727613 писал(а):
Смотрите, как умеет сортировать TStringList.Sort. Может, по убыванию и не [умеет].

Посмотрите в справке. Возможно, у TStringList есть свойство, указывающее порядок сортировки. Возможно, метод принимает соответствующий параметр.



хорошо.спасибо

 
 
 
 Re: Сортировка по убыванию StringGrid delphi
Сообщение24.05.2013, 08:10 
http://stackoverflow.com/questions/2175 ... -in-delphi

Надо вызвать функцию CustomSort, которая на вход принимает ссылку на вашу собственную функцию сравнения. В этой своей функции сравнения вы можете наколбасить все, что угодно.

 
 
 [ Сообщений: 6 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group