Студопедия — Навигация по набору данных
Студопедия Главная Случайная страница Обратная связь

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

Навигация по набору данных

 

Основная литература

 

1. Матвеев А.Н. Оптика. - М.: Высшая школа, 1985. §44, с.281-284.

2. Ахманов С.А., Никитин С.Ю. Физическая оптика. - М.: Изд. МГУ, 1998.

 

Дополнительная литература

 

1. Борн М., Вольф Э. Основы оптики. - М.: Наука, 1973.

2. Калитеевский Н.И. Волновая оптика. - М.: Наука, 1971.

 

 

Лабораторная работа № 3

«Индексы»

  1. Создать таблицу sotr.db формата PARADOX с информацией о сотрудниках с помощью утилиты DataBase DeskTop. Сохраните ее в ранее созданном вами псевдониме (см. предыдущие лаб.раб.) Таблица должна содержать поля:

Tab – табельный номер сотрудника (автоинкрементное поле)

Name – фамилия и.о.

Post – должность

Salary – оклад

BirthDay – дата рождения

Otd – отдел

С помощью утилиты DataBase DeskTop добавьте к созданной индексы по табельному номеру (по умолчанию индекс по первичному ключу безымянный), по фамилии (indFam), по дате рождения (indDate) и по отделу (indOtd), т.е. по всем полям сортировки.

  1. Создайте новый проект, на котором разместите форму просмотра файла сотрудников, в которую поместите компоненты Table1, DataSource1, DBGrid1. Задайте соответствующие свойства для этих объектов.

 

3.Добавьте на форму навигатор, задайте для него источник данных DataSource1.

4. Наполните таблицу данными (10-15 записей) см. рисунок.

Для того, чтобы сделать таблицу Table1 активной и отсортировать данные по алфавиту фамилий, необходимо подключить индекс по фамилии сотрудников (indName). Добавьте процедуру активизации формы:

procedure TForm1.FormActivate(Sender: TObject);

begin

Table1.IndexName:= 'indName';

Table1.Active:=true;

end;

Добавьте на форму группу радио кнопок RadioGroupl, которые определяют поле сортировки: по фамилии, по табельному номеру, по дате рождения. Количество и названия кнопок устанавливаются с помощью свойства Items Инспектора объекта.

Сначала пользователь выбирает поле сортировки. Сортировка выполняется после нажатия кнопки btnSort с названием Сортировка. Расположите ее на форме рядом с группой радио кнопок.

Процедура нажатия обрабатывает выбор пользователя и в зависимости от него (свойство ItemIndex) подключает тот или иной индекс.

procedure Tform1.btnSortClick(Sender: TObject);

Begin

case RadioGroupl.ItemIndex of

0: Tablel.IndexName:='indName';

 

1: Tablel. IndexName: = 'indDate';

2: Tablel.IndexName:= ‘’; // это первичный ключ таблицы

3: Tablel.IndexName:= ‘indOtd’;

end; end;

 

  1. Измените работу приложения таким образом, чтобы выбор радио кнопки сразу вызывал сортировку набора данных без необходимости нажатия на кнопку Сортировка. После чего кнопку Сортировка можно удалить.
  2. Сделайте надписи (свойство Caption) столбцов таблицы по-русски.
  3. Задание Дополните форму еще одной группой радио кнопок RadioGroup2: Направление сортировки: по возрастанию, по убыванию. Дополнительно создайте аналогичные индексы по убыванию значения поля (опция Descending в Data Base Desk Top)/
  4. Задание. Форму базы данных Школа дополните сортировкой по возрастанию а) по фамилии учеников и б) по классу и фамилии одновременно. Индексы для такой сортировки добавьте с помощью утилиты DataBase Desktop.

 

Навигация по набору данных

Перед перемещением указателя текущей записи набор данных автоматически переводится в режим просмотра.

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

- процедура First — установка на первую запись;

- процедура Next — установка на следующую запись (при вызове метода для последней записи указатель не перемещается);

- процедура Last — установка на последнюю запись;

- процедура Prior - установка на предыдущую запись;

- функция MoveBy (Distance: integer): integer — перемещение на чис­ло записей, определяемое параметром Distance. Если его значение боль­ше нуля, то перемещение осуществляется вперед, если меньше нуля — то назад. В качестве результата возвращается число записей, на которое переместился указатель.

При перемещении указателя текущей записи учитываются ограничения и фильтр, определенные для набора данных. Таким образом, перемещение выполняется по записям набора данных, которые он содержит в текущий момент времени. Число записей определяется свойством RecordCount.

Значения указателя текущей записи изменяют также методы, связанные с поиском записей, например, метод FindFirst.

Для следующего примера разместите на форме два компонента: Метку Label2 для размещения вычисления суммарного оклада и кнопку Button1 с названием Вычислить. Метка Label1 пусть хранит пояснительный текст: Суммарный оклад. Рассмотрим следующий пример:

procedure Tform1.Button1Click(Sender: TObject);

var s: real;

n: longint;

begin s:=0;

Table1.First; // Установка текущего указателя на первую запись

for n:= 1 to Table1.RecordCount do begin

s:=s+Table1.FieldByName('Salary').AsFloat;

Table1.Next; //Перемещение текущего указателя на следующую запись

end;

Label2.Caption:=FloatToStr(s);

end;

В приведенной процедуре перебираются все записи набора данных Table1, при этом в переменной s накапливается сумма значений, содержащихся в поле salary. Перебор записей осуществляется с помощью метода Next, вы­зываемого в цикле. Предварительно с помощью метода First указатель ус­танавливается на первую запись. После выполнения кода указатель будет установлен на последнюю запись.

 

Задание 1. Выполните подсчет количества сотрудников заданного отдела. Название отдела пусть запрашивается в поле Edit1 или с помощью функции Input. Результат вычисления пусть выводится в метке.

 




<== предыдущая лекция | следующая лекция ==>
Практическая часть. 1. Краткий справочник физико-химических величин / Под ред | Общие сведения. Перед перемещением указателя текущей записи набор данных автоматически переводится в режим просмотра.

Дата добавления: 2015-08-27; просмотров: 387. Нарушение авторских прав; Мы поможем в написании вашей работы!



Шрифт зодчего Шрифт зодчего состоит из прописных (заглавных), строчных букв и цифр...

Картограммы и картодиаграммы Картограммы и картодиаграммы применяются для изображения географической характеристики изучаемых явлений...

Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...

Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Функциональные обязанности медсестры отделения реанимации · Медсестра отделения реанимации обязана осуществлять лечебно-профилактический и гигиенический уход за пациентами...

Определение трудоемкости работ и затрат машинного времени На основании ведомости объемов работ по объекту и норм времени ГЭСН составляется ведомость подсчёта трудоёмкости, затрат машинного времени, потребности в конструкциях, изделиях и материалах (табл...

Гидравлический расчёт трубопроводов Пример 3.4. Вентиляционная труба d=0,1м (100 мм) имеет длину l=100 м. Определить давление, которое должен развивать вентилятор, если расход воздуха, подаваемый по трубе, . Давление на выходе . Местных сопротивлений по пути не имеется. Температура...

ЛЕЧЕБНО-ПРОФИЛАКТИЧЕСКОЙ ПОМОЩИ НАСЕЛЕНИЮ В УСЛОВИЯХ ОМС 001. Основными путями развития поликлинической помощи взрослому населению в новых экономических условиях являются все...

МЕТОДИКА ИЗУЧЕНИЯ МОРФЕМНОГО СОСТАВА СЛОВА В НАЧАЛЬНЫХ КЛАССАХ В практике речевого общения широко известен следующий факт: как взрослые...

СИНТАКСИЧЕСКАЯ РАБОТА В СИСТЕМЕ РАЗВИТИЯ РЕЧИ УЧАЩИХСЯ В языке различаются уровни — уровень слова (лексический), уровень словосочетания и предложения (синтаксический) и уровень Словосочетание в этом смысле может рассматриваться как переходное звено от лексического уровня к синтаксическому...

Studopedia.info - Студопедия - 2014-2024 год . (0.009 сек.) русская версия | украинская версия