Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Сортировка по убыванию. [D6, Paradox]


AlV ©   (2002-12-06 18:52:00) 

Здравствуйте уважаемые мастера. Хочу попросить у вас помощи. Ситуация такая, хочу организовать в своей БД сортировку по возрастанию и убыванию. За сортировку отвечает нижеприведенный участок кода. Но при любой комбинации переключателей сортировка идет по возрастанию. Как с этим бороться?
Заранее спасибо!

procedure TForm1.Button1Click(Sender: TObject);
begin
case RadioGroup1.ItemIndex of
0: Table1.IndexName:="indSchet";
1: Table1.IndexName:="indName";
2: Table1.IndexName:="";
end;

case RadioGroup2.ItemIndex of
0: Table1.IndexDefs[Table1.IndexDefs.IndexOf(Table1.IndexName)].Options:=
Table1.IndexDefs[Table1.IndexDefs.IndexOf(Table1.IndexName)].Options-
[ixDescending];
1: Table1.IndexDefs[Table1.IndexDefs.IndexOf(Table1.IndexName)].Options:=
Table1.IndexDefs[Table1.IndexDefs.IndexOf(Table1.IndexName)].Options+
[ixDescending];
end;
end;


ЮЮ   (2002-12-07 04:05:00) [1]

IndexDefs, наверное, как и FiedDef имеет смысл менять лишь при создании индекса с нужными св-ми.
Для сортировки по убыванию надо естественно уже иметь индекс по полю по убыванию, а в приложении уже использовать тот или иной индекс, в зависимости, какая сортировка нужна.


AlV   (2002-12-06 21:32:00) [2]

Попробовал, не работает 8-(


BoxTer   (2002-12-06 19:59:00) [3]

procedure TForm1.Button1Click(Sender: TObject);
begin
case RadioGroup1.ItemIndex of
0: Table1. IndexFieldNames:="indSchet";
1: Table1. IndexFieldNames:="indName";
2: Table1.IndexName:="";
end;

case RadioGroup2.ItemIndex of
0: Table1.IndexDefs[Table1.IndexDefs.IndexOf(Table1.IndexName)].Options:=
Table1.IndexDefs[Table1.IndexDefs.IndexOf(Table1.IndexName)].Options-
[ixDescending];
1: Table1.IndexDefs[Table1.IndexDefs.IndexOf(Table1.IndexName)].Options:=
Table1.IndexDefs[Table1.IndexDefs.IndexOf(Table1.IndexName)].Options+
[ixDescending];
end;
end;


Наверх

Титульная страница Поиск, карта сайта Написать письмо