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

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

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

 

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

 

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; просмотров: 386. Нарушение авторских прав; Мы поможем в написании вашей работы!



Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...

Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

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

Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Решение Постоянные издержки (FC) не зависят от изменения объёма производства, существуют постоянно...

ТРАНСПОРТНАЯ ИММОБИЛИЗАЦИЯ   Под транспортной иммобилизацией понимают мероприятия, направленные на обеспечение покоя в поврежденном участке тела и близлежащих к нему суставах на период перевозки пострадавшего в лечебное учреждение...

Кишечный шов (Ламбера, Альберта, Шмидена, Матешука) Кишечный шов– это способ соединения кишечной стенки. В основе кишечного шва лежит принцип футлярного строения кишечной стенки...

Постинъекционные осложнения, оказать необходимую помощь пациенту I.ОСЛОЖНЕНИЕ: Инфильтрат (уплотнение). II.ПРИЗНАКИ ОСЛОЖНЕНИЯ: Уплотнение...

Приготовление дезинфицирующего рабочего раствора хлорамина Задача: рассчитать необходимое количество порошка хлорамина для приготовления 5-ти литров 3% раствора...

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

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