Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.08.2011, 12:33   #11
Sheeby
Пользователь
 
Регистрация: 21.04.2011
Сообщений: 20
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Тоесть? Это функция для сортировки колонок в компоненте StringGrid
ну...просто я не очень шарю в делфи... не знаю куда этот код вставить. подскажи, плиз
Sheeby вне форума Ответить с цитированием
Старый 01.08.2011, 14:50   #12
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Вставляй этот код сразу после implementation например, и вызывай его где нужно
Код:
GridSort(StringGrid1,1);
Отсортирит по второй колонке, ибо с нуля нумерация
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 15.04.2013, 04:00   #13
include669
Новичок
Джуниор
 
Регистрация: 15.04.2013
Сообщений: 2
По умолчанию Спасибо помогло очень. а как сделать сортировку по убыванию!

Цитата:
Сообщение от pu4koff Посмотреть сообщение
не нужен никакой листбокс. просто добавьте в var Renglon: TStringList;
И сортировка чисел тут у Вас. Вот поправил под имена:
Код:
procedure GridSort(StrGrid: TStringGrid; NoColumn: Integer);
var
  Line, PosActual: Integer;
  Row: TStringList;
  Renglon :TStringList;
begin
  Renglon := TStringList.Create;
  Row := TStringList.Create;
  for Line := 1 to StrGrid.RowCount-1 do
  begin
    PosActual := Line;
    Row.Assign(StrGrid.Rows[PosActual]);
    while True do
    begin
      if (PosActual = 0) or
         (Row.Strings[NoColumn] >= StrGrid.Cells[NoColumn,PosActual-1])
        then break;
      StrGrid.Rows[PosActual] := StrGrid.Rows[PosActual-1];
      Dec(PosActual);
    end;
    if (Row.Strings[NoColumn] < StrGrid.Cells[NoColumn,PosActual])
      then StrGrid.Rows[PosActual].Assign(Row);
  end;
  Row.Free;
  Renglon.Free;
end;
Сортировка вызывается так:
GridSort(StringGrid1, 0);
спасибо помогло очень. а как сделать сортироаку по убыванию?
include669 вне форума Ответить с цитированием
Старый 16.04.2013, 01:24   #14
include669
Новичок
Джуниор
 
Регистрация: 15.04.2013
Сообщений: 2
По умолчанию

сам разобрался, спасибо :-)
include669 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выделение строки (canvas) в StringGrid elfo Помощь студентам 1 24.06.2008 12:12
StringGrid и сортировка dee_lv Помощь студентам 5 02.05.2008 17:51
Сортировка с доп параметрами. Хелп Ice_Juice Microsoft Office Excel 22 15.03.2008 20:21
Delphi: Сортировка строк в StringGrid, критерий - элемент ячейки Andris Помощь студентам 9 09.03.2008 23:04
StringGrid - при пометке строки ставить значок на столбце Mick Standarov Компоненты Delphi 2 03.10.2007 23:26