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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.06.2012, 20:28   #1
ЧАК
 
Аватар для ЧАК
 
Регистрация: 06.01.2012
Сообщений: 5
Восклицание Товар на складе

Помогите пожалуйста как мне отсортировать товары внутри группы по тём критериям наименование, код, цена товара в таблице StringGrid зарание благодарю.
Код:
PROCEDURE BoobleSortList(nomerkriterija_pt:Integer);
 Var
  tmp:PGroupList;
  tmp1,tmp2:PList;
  V,W:Variant;
  Temp:Variant;
 BEGIN
  While tmp<>nil Do
    Begin
      IF tmp^.GroupSpisok<>nil Then
       Begin
        tmp1:=tmp^.GroupSpisok;
        While tmp1<>nil do
         Begin
           tmp2:=tmp1^.next;
           While tmp2<>nil Do
            Begin
              case nomerkriterija of
              1:begin
                 V:=tmp1^.Cod;
                 W:=tmp2^.Cod;
                end;
              2:begin
                 V:=tmp1^.Produkt;
                 W:=tmp2^.Produkt;
                end;
              3:begin
                 V:=tmp1^.Zena;
                 W:=tmp2^.Zena;
                end;
              end;
             {Ïðèñâàèâàåì âûáðàííûé êðèòåðèè V(îò tmp1),W(îò tmp2)}
              IF V>W Then
              begin
               Temp:=tmp2^.Cod;
               tmp2^.Cod:=tmp1^.Cod;
               tmp1^.Cod:=Temp;

               Temp:=tmp2^.Produkt;
               tmp2^.Produkt:=tmp1^.Produkt;
               tmp1^.Produkt:=Temp;

               Temp:=tmp2^.Zena;
               tmp2^.Zena:=tmp1^.Zena;
               tmp1^.Zena:=Temp;
              end;
             tmp2:=tmp2^.next;
            End;
           tmp1:=tmp1^.next
         End
       End;
      tmp:=tmp^.next
    End
 END;

Последний раз редактировалось Stilet; 24.06.2012 в 12:20.
ЧАК вне форума Ответить с цитированием
Старый 23.06.2012, 22:38   #2
Npwas
Форумчанин
 
Аватар для Npwas
 
Регистрация: 26.09.2011
Сообщений: 158
По умолчанию

1-ый Способ:
Отсортировать сперва по группам, потом сортировать в пределах каждой группы, сохранив до этого для каждой группы номер начальной и конечной строки в массив переменных или еще куда-нибудь;
2-ой Способ:
Создать динамический вложенный список: список груп и у каждой группы список товаров, а потом сортировать в пределах групп (только тут нужна уже будет сортировка самого списка а не в StringGrid)
<----Весы Там.
Npwas вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
На сколько подорожал товар ulechka128 Помощь студентам 2 25.12.2011 20:21
число ящиков на складе ololo-schoolboy Общие вопросы C/C++ 0 12.03.2011 21:49
Даны сведения о товарах на складе: наименование, цена, количество единиц товара. Найти товар, стоимость н Evidence Паскаль, Turbo Pascal, PascalABC.NET 1 03.06.2009 00:09
проблема с реализацией на складе 4321 БД в Delphi 3 30.10.2008 13:30
Распределить товар по магазинам с помощью VBA ZORRO2005 Microsoft Office Excel 9 21.06.2008 22:04