Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Реализация вычислений




Реализация сортировки

Реализация сортировки, вычислений и фильтрации данных

 

Для отображения результатов сортировки на форму необходимо поставить следующие компоненты:

компонент DataSource (источник данных); настроить свойство DataSet – имя таблицы, находящейся на модуле данных (в модуле, соответствующем созданной форме для доступа к компонентам модуля данных в разделе implementation выставить uses unit2 (если модуль данных был создан вторым));

компонент DbGrid (таблица для отображения информации); настроить свойство DataSource – DataSource1.

Сортировка с помощью отдельной кнопки осуществляется следующим образом.

Поставить на форму компонент Кнопка (Button1), для свойства OnClick данной кнопки написать процедуру

 

Имя_модуля_данных.ADOTable1.Sort:='Avt ASC';

 

Данная процедура реализует сортировку таблицы ADOTable1 по возрастанию для поля Avt (авторы). Если вместо ключевого слова Asc использовать Desc, то будет убывающая сортировка.

 

Сортировка с помощью группы переключателей осуществляется следующим образом.

1. На форму можно поставить компонент Panel1, удалить надпись в свойстве Caption.

2. На панель поставить компонент Radiogroup1, для него в свойстве Caption задать надпись Вид сортировки; в свойстве Items задать подписи для переключателей (например, по автору, по области знаний, по шифру книги).

3. Добавить на форму кнопку Button1 (задать надпись Сортировать), для свойства OnClick данной кнопки написать процедуру:

case RadioGroup1.ItemIndex of

0: DataM.ADOTable3.Sort:='Avt ASC';

1: DataM.ADOTable3.Sort:='Oblzn ASC';

2: DataM.ADOTable3.Sort:='Sh_gr ASC';

end;

 

4. При выборе первого переключателя будет сортировка по полю Авторы, при выборе второго переключателя будет сортировка по полю Область знаний, при выборе третьего переключателя – по полю Шифр книги.

Для контроля производимых вычислений можно поставить на форму компоненты DataSource и DBGrid и настроить их свойства.

Для компонента DataSource (источник данных) настроить свойство DataSet – имя таблицы, находящейся на модуле данных (в модуле, соответствующем созданной форме для доступа к компонентам модуля данных в разделе implementation выставить uses unit2 (если модуль данных был создан вторым)).

Для компонента DbGrid (таблица для отображения информации) настроить свойство DataSource – DataSource1.

Вычисления можно оформить как процедуры, которые запускаются при щелчке по кнопке (компонент Button).

Вывод результата вычислений можно осуществить через компонент Label и его свойство Caption.

Возможный вид формы представлен ниже (рис. 3.2).

 

Рис. 3.2. Вид формы для реализации вычислений

Вычисление суммарной стоимости книг осуществляется при щелчке по кнопке Вычислить суммарную стоимость книг (Button1). Результат выводится в компонент Label1. Процедура вычисления следующая:

 

var

sumk: real;

begin

sumk:=0;

имя_модуля_данных.ADOTable1.First;

While not имя_модуля_данных.ADOTable1.eof do

begin

sumk:=sumk+ имя_модуля_данных.ADOTable1['Zena'] * имя_модуля_данных.ADOTable1['Kol_ikz'];

имя_модуля_данных.ADOTable1.Next;

end;

Label1.Caption:='Суммарная стоимость='+FloatToStr(sumk);

 

Вычисление максимальной стоимости книг осуществляется при щелчке по кнопке Максимальная цена (Button2). Результат выводится в компонент Label2. Процедура вычисления следующая:

 

var

max: real;

begin

имя_модуля_данных.ADOTable1.First;

max:= имя_модуля_данных.ADOTable1 ['Zena'];

While not имя_модуля_данных.ADOTable1.eof do

begin

if max < имя_модуля_данных.ADOTable1 ['Zena'] then max:= имя_модуля_данных.ADOTable1 ['Zena'];

имя_модуля_данных.ADOTable1.Next;

end;

Label2.Caption:='max='+FloatToStr(max);

 

 

Вычисление минимального количества книг осуществляется при щелчке по кнопке Минимальное количество книг (Button3). Результат выводится в компонент Label3. Процедура вычисления следующая:

 

var

min:integer;

begin

имя_модуля_данных.ADOTable1.First;

min:= имя_модуля_данных.ADOTable1['Kol_ikz'];

While not имя_модуля_данных.ADOTable1.eof do

begin

if min > имя_модуля_данных.ADOTable1['Kol_ikz'] then min:= имя_модуля_данных.ADOTable1['Kol_ikz'];

имя_модуля_данных.ADOTable1.Next;

end;

Label3.Caption:='min='+IntToStr(min);




Поделиться с друзьями:


Дата добавления: 2015-05-09; Просмотров: 363; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.