Мои Конспекты
Главная | Обратная связь

...

Автомобили
Астрономия
Биология
География
Дом и сад
Другие языки
Другое
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Металлургия
Механика
Образование
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Туризм
Физика
Философия
Финансы
Химия
Черчение
Экология
Экономика
Электроника

Методы для поиска данных





Помощь в ✍️ написании работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

Поиск данных производится по одной из команд пункта меню Поиск:

- по фамилии (J = 5);

- быстрый по фамилии (J = 6);

- ближайшей подходящей (J = 7);

- по фамилии и стипендии (J = 8);

- постепенный поиск.

Процесс поиска первых четырех видов реализуется в 2 этапа. На первом этапе с помощью метода N19Click (одного для всех методов поиска, кроме постепенного) производится:

- показ панели Panel1 с меткой Label6 и окном редактора Edit1 для ввода тре­буемой фамилии;

- установка J-значения признака метода поиска.

Для поиска по фамилии и стипендии, кроме панели Panel1, устанавливается видимой также панель Рапеl2. В ее метку выводится текст ‘Введите размер стипендии:’ и активизируется окно MaskEdit1 для ввода требуемого размера стипендии.

На втором этапе методом Button1.Click производится поиск записи одним из заданных методов поиска.

Для определения метода поиска используется значение свойства Tag пункта меню, выбранного пользователем для поиска. Оно устанавливается в процессе разработки приложения и имеет значения, представленные в табл. 6.4.

Таблица 6.4.Значения свойства Tag для различных методов поиска

Для поиска Имя пункта меню Значение свойства Tag
по фамилии N19
быстрого по фамилии N20
ближайшей подходящей N21
по фамилии и стипендии N23

В методе N19Click устанавливается значение свойства J = Tag соответствую­щего пункта меню. Затем производится показ панели Panel1 с меткой Label6 (‘Введите ФИО и нажмите кнопку Искать’), окном Edit1 и кнопкой Искать (Poisk) для запуска процесса поиска.

После ввода требуемой фамилии и инициалов и нажатия кнопки Искатьначи­нается процесс поиска методом PoiskClick. Он выполняется по-разному, в зависи­мости от значения признака J. После поиска данных выдается сообщение об успешности (или неуспешности) поиска с помощью вложенных процедур S1 и S2. По завершении поиска устанавливается невидимой панель Panel1 оператором: Panel1.Visible := False;

Процесс поиска в методе PoiskClick определяется значением J.

Для J = 5 выполняется поиск по фамилии с помощью методов Table1.SetKey и Table1.GoToKey. Предварительно устанавливается значение поля индекса, по которому производится поиск, оператором:

Table1.IndexFieldNames := ‘FIO’;

Значение поискового признака устанавливается оператором:

Table1.FieldByName(‘FIO’).AsString := Edit1.Text;

Для быстрого поиска (J = 6) используется функция:

Table1.Locate(‘FIO’, Edit1.Text, [LoCaselnsensitive, LoPartialKey]),

где:

FIO - имя поля записи, по которому выполняется поиск;

Edit1.Text - требуемое значение поля (фамилии);

LoCaselnsensitive - регистр букв не учитывается;

LoPartialKey - допускается частичное совпадение значений.

При поиске ближайшего наиболее подходящего значения последовательность операторов аналогична последовательности операторов при поиске по фамилии, за исключением: последним оператором является:

Table1.GoToNearest; - найти ближайшее подходящее значение.

При поиске по фамилии и стипендии используется метод-функция аналогич-; но быстрому поиску; но в качестве фактического параметра с поисковыми при­знаками применен параметр в виде списка из двух значений для поиска:

Table1.Locate(‘FIO;RS’, VarArrayOf([Edit1.Text, MaskEdit1.Text]), // - пофамилиии

[LoCaselnsensitive, LoPartialKey]) // - по стипендии

Постепенный поиск производится в 2 этапа. Подготовка к поиску произво­дится с помощью метода N22Click - Поиск - постепенный. С его помощью становится видимой панель Panel3 с меткой (‘Вводите фамилию: по завершении - двойной щелчок в окне:’) и с окном редактора Edit2 - для ввода фами­лии. В процессе ввода требуемой фамилии вызывается метод Edit2Change с операторами:

Table1.IndexFieldNames := ‘FIO’; // - индекс искомого столбца

Table1.FindNearest([Edit2.Text]); // - поиск ближайшего подходящего.

По завершении постепенного поиска фамилии и двойного щелчка в окне Edit2 вызывается метод Edit2DblClick, с помощью которого панель Panel3 дела­ется невидимой оператором: PaneB3.Visible := False;

6.1.11. Выполнение команд подменю ‘Вычислить:’

Для выполнения команды ‘Вычислить: - сумму стипендий’ - формирования и вывода на метку суммы столбца - используется непосредственный доступ к записям БД в методе N24Click. Пример его текста дан в листинге 6.2.

Для формирования и вывода на метку Label11 значения средней стипендии из метода N25Click вызывается метод N24Click(Sender); с его помощью определяется S - сумма стипендий. Затем определяется ее среднее.

6.1.12. Метод команды меню Трафик' и настройка графика

Для формирования графика зависимости данных из БД используется компо­нент типа TDBChart. Настройка его параметров не отличается от настройки па­раметров компонента типа TChart. За исключением: в его редакторе надо установить источником данных базу данных.

В рассматриваемом примере график выводится на отдельной форме. Для ее показа в процессе выполнения программы в методе для пункта меню График используется оператор Form2.Show;. К модулю Form1 надо подключить Form2 оператором UsesUnit2;.

Настройка графика состоит в следующем. К проекту подключить вторую фор­му Form2. На нее поместить компонент типа TDBChart из страницы DataControls. Вызвать редактор компонента EditingDBChart1, например, двойным щелчком правой кнопкой на компоненте. Разместить на компоненте 2 кривые, например типа Line. Установить их свойства Title, например ‘Номер зачетки – стипендия’, ‘Номер зачетки - новая стипендия’. На странице редактора Chart\Titles установить заголовок, например ‘Зависимость стипендии от номера зачетки’. Настроить па­раметры на страницах редактора Chart\Panel, Chart\Axis, Chart\Walls аналогично настройкам, изложенным в разделах 8.4 и 4.1. На странице Chart\Legend устано­вить положение легенды в нижней части компонента. Для этого в группе Position установить активность радиокнопки Bottom. Для параметра LegendStyleвыбрать из списка значение Automatic.

На странице Series\DataSourse (источник данных) выбрать источник данных в ви­де Dataset. Вид редактора со страницей Series\DataSourse дан на рис. 6.7. Выпа­дающий список Dataset содержит имена наборов данных, доступных в модуле формы Form1. Из него выбрать значение Form1.Table1. Настроить серии.

Рис. 6.7.Вид Series\DataSourse - страницы редактора

Для этого в окне для выбора серии выбрать кривую Series1 с именем ‘Номер зачетки – стипендия’. Для нее в окне X выбрать из выпадающего списка значе­ние NZ. В окне Y: выбрать из выпадающего списка значение RS. Аналогично выбрать кривую Series2 с именем ‘Номер зачетки - новая стипендия’. Для нее в окне X: выбрать из выпадающего списка значение NZ. В окне Y: выбрать из выпадающего списка значение NRS.

При выполнении приложения дизайн графика кривой выглядит так же, как и при проектировании.

Текст модуля для формы Form2 дан в листинге 6.3.

Доверь свою работу ✍️ кандидату наук!
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой



Поиск по сайту:







©2015-2020 mykonspekts.ru Все права принадлежат авторам размещенных материалов.