Добавить материал и получить бесплатное свидетельство о публикации в СМИ
Эл. №ФС77-60625 от 20.01.2015
Инфоурок / Информатика / Другие методич. материалы / Методические указания по выполнению практических работ в СУБД Visual FoxPro

Методические указания по выполнению практических работ в СУБД Visual FoxPro


  • Информатика

Поделитесь материалом с коллегами:


Федеральное казенное профессиональное образовательное учреждение

Кинешемский технологический техникум-интернат

Министерства труда и социальной защиты РФ













Методические указания к практическим работам

для студентов специальности 230115

«Программирование в компьютерных системах»

по ПМ.02 Разработка и администрирование баз данных

МДК 02.02. Технология разработки и защиты баз данных

Раздел 3. Реализация баз данных в СУБД Visual FoxPro













Кинешма 2013










Составитель: преподаватель спец. дисциплин Н.Н.Силина.



















Методические указания содержат описание практических работ по разработке баз данных в Visual FoxPro и рекомендации по их выполнению для студентов специальности 230115.



Введение


Для освоения студентами профессиональных компетенций важную роль играет практический навык и самостоятельная работа над учебным материалом. В помощь студентам для выполнения практических работ предоставляется сборник презентаций по теоретическому материалу и методические рекомендации к практическим работам по ПМ.02 Разработка и администрирование баз данных МДК 02.02. Технология разработки и защиты баз данных Раздел 3. Реализация баз данных в СУБД Visual FoxPro.

Прежде чем приступить к выполнению практической работы студент должен:

  • Тщательно изучить теоретический материал, необходимый для выполнения практической работы;

  • Сделать конспект всех теоретических вопросов.

В ходе выполнения практической работы:

  • Выбрать правильно свой вариант и выполнить задания практической работы;

  • При выполнении практического задания следовать методическим рекомендациям;

  • Выполненное задание показать преподавателю или сдать на проверку;

  • Ответить письменно на контрольные вопросы.

Практические работы должны быть реализованы с помощью СУБД Visual FoxPro 9.0.


Практическая работа 1

«Создание свободных таблиц»


1. Настройка среды

Для настройки параметров Visual FoxPro используется диалоговое окно Options:

hello_html_713ff219.png

Чтобы открыть данное окно, выберите пункт меню Tools/Options.


Перейдите на вкладку Regional - настройка даты, времени, дней недели и денежных единиц.

Установите назначение некоторых параметров согласно образцу:

Date Format - настройка формата даты.

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

24-Hour - определяет, что время будет отображаться в 24-часовом формате.

Seconds - определяет, что при выводе времени будут отображаться секунды.


hello_html_2736b2f7.png


Перейдите на вкладку File Locations - содержит и указывает размещение в каталогах программ и файлов, используемых Visual FoxPro.

Выберите пункт Default Directory – здесь указывается полный путь, где будут сохраняться файлы "по умолчанию", а также путь по которому будет осуществляться поиск запускаемых/открываемых файлов.

Установите путь к своей папке, используя кнопку Modify.


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

  1. Нажать кнопку hello_html_5438a2df.png

  2. Нажать кнопку hello_html_m1c55a829.png


В противном случае настройки не будут сохранены!


2. Создание свободной таблицы

Для создания свободной таблицы воспользуйтесь главным меню – пункт File/New. В диалоговом окне New выберите пункт Table и нажмите кнопку New File.

hello_html_78a910bb.png


В следующем окне укажите путь и введите имя новой таблицы согласно вашему варианту.

В окне Table Designer (конструктор таблиц) выполните ввод и редактирование структуры таблицы согласно вашему варианту (см. приложение «Варианты заданий к практической работе 1»). По окончании сохраните таблицу, нажав на кнопку ОК.


3. Ввод записей

Перейдите в режим просмотра таблицы, выполнив в командном окне команду Browse. Убедитесь в том, что таблица содержит все созданные вами поля и не содержит ни одной записи.

  1. В режиме Browse введите 5 записей, используя главное меню Table.

  2. Затем введите 5 записей, используя командное окно и команду Append blank.

  3. Перейдите в режим Append и введите еще 5 записей. Сохраните введенные записи с помощью комбинации клавиш CTRL-W.


4. Редактирование и удаление записей

Перейдите в режим просмотра таблицы, выполнив в командном окне команду Browse.

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

  2. Удалите некоторые записи с помощью команды меню Table и восстановите их вновь с помощью команды Recall.

  3. Удалите некоторые записи с помощью команды Delete, выполненной в командном окне, и восстановите их вновь.

  4. Измените некоторые данные в таблице, используя команду REPLACE.


5. Покажите результат преподавателю.



Практическая работа 2

«Создание базы данных и заполнение таблиц»


ВНИМАНИЕ! Проверьте, установлен ли по умолчанию путь к вашей папке!


  1. Разработка структуры базы данных.

Для создания новой БД выберите пункт меню File/New, в окне New установите флажок Database и нажмите кнопку New File. Для сохранения БД укажите путь к своей папке и введите имя новой БД - Mydata. Откроется окно Дизайнера БД.

hello_html_17af70b1.png

Для работы с базой данных используется панель инструментов Дизайнера БД.

Нhello_html_4790514a.pngазначение кнопок:


-создать новую таблицу

-добавить существующую таблицу

- удалить таблицу из БД

- создать новое удаленное представление

- создать новое локальное представление

- изменить структуру и свойства таблицы

- просмотр таблицы

- редактирование хранимых процедур

- создание удаленной БД


  1. Разработка структур таблиц базы данных.

Создайте в БД первую таблицу (Типы книг) с именем tip.

Поля таблицы tip

Имя поля

Тип поля, размер

Описание (св-во Caption)

Kodt

Integer (AutoInc)

Код типа

Name

Character, 30

Наименование типа

Создайте вторую таблицу (Книги) с именем knig.

Поля таблицы knig

Имя поля

Тип поля, размер

Описание (св-во Caption)

Kodt

integer

Код типа

Kodkn

Integer (AutoInc)

Код книги

Autor

Character, 30

Автор

Nazvanie

Character, 40

Название

Cena

Numeric, 10,2

Цена

Kol

Integer

Количество

  1. Ввод данных в таблицы.

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

Чтобы добавить пустую запись, нужно выбрать в меню Table команду Append New Record. Затем ввести данные в пустую запись.

hello_html_6bd1324e.png

Второй способ – набрать команду Append Blank в командном окне.


Введите в таблицу Tip следующие данные:

hello_html_m283202ea.png


Введите в таблицу knig следующие данные:

hello_html_2a76522a.png


  1. Покажите результат преподавателю.

  2. Завершите работу приложения.


  1. Выполнение самостоятельного задания.

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

Заполните созданные таблицы контрольными данными (введите новые записи) - в главной таблице не менее 5 записей, в дочерней – не менее 10.


Практическая работа 3

«Ввод, редактирование и удаление данных»


Для возможности проверки преподавателем ваших выполненных заданий, необходимо создать файл отчета в среде Microsoft Word, в который скопировать все выполненные команды и скрин-шоты с результатами в виде:

команда, результат, команда, результат и т.д. Файл сохранить в сетевой папке.


ВНИМАНИЕ! Проверьте, установлен ли по умолчанию путь к вашей папке!


  1. Ввод записей в таблицу.

Откройте в своей папке созданную ранее БД Mydata, которая содержит две таблицы – Tip и Knig.

Добавьте в таблицу Tip новую запись – поле kodt=6 , поле name= ‘Учебники’.

Откройте таблицу Knig. Добавьте в нее дополнительно две произвольные записи по типу книг Учебники (kodt=6).


  1. Редактирование данных в таблице.

Перейдите в таблицу Tip. Выполните в командном окне команду:


REPLACE name WITH 'Научно-фантастическая' FOR name='Научная'

Просмотрите результат замены данных в таблице – команда BROWSE.


Аналогично замените данные ‘Учебники’ на ‘Учебники и задачники’.

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


Перейдите в таблицу Knig. Выполните в командном окне следующие команды по замене данных:


  • заменить поле nazvanie значением ‘Молекулярная химия’, в записи со значением этого поля ‘Химия’;

  • проверьте результат выполнения команды, просмотрев данные; (дополните отчет);

  • заменить поле kol значением 3 у всех записей со значением 2;

  • проверьте результат выполнения команды, просмотрев данные; (дополните отчет);

  • заменить поле cena значением 30.00 у всех записей со значением этого поля, меньшим 30;

  • проверьте результат выполнения команды, просмотрев данные; (дополните отчет);

  • заменить поле cena значением 20.00 у записи со значением поля nazvanie =’168 часов № 55’;

  • проверьте результат выполнения команды, просмотрев данные; (дополните отчет).


  1. Удаление данных в таблице.


Перейдите в таблицу Knig. Выполните в командном окне команду:


DELETE ALL FOR kol<4


Проверьте результат выполнения команды, просмотрев данные; (дополните отчет). Сколько записей было удалено с помощью этой команды?


Выполните команду:

RECALL all

Проверьте результат выполнения команды, просмотрев данные; (дополните отчет). Что произошло в ранее удаленными записями?


Аналогичным образом выполните следующие команды по удалению данных:


  • удалить все записи, у которых значение поля kodt равно 1;

  • проверьте результат выполнения команды, просмотрев данные; (дополните отчет);

  • Восстановите удаленные записи;

  • удалить все записи, у которых значение поля kol равно 5;

  • проверьте результат выполнения команды, просмотрев данные;(дополните отчет);

  • Восстановите удаленные записи;

  • удалить все записи, у которых значение поля cena больше 100;

  • проверьте результат выполнения команды, просмотрев данные; (дополните отчет);

  • Восстановите удаленные записи;

  • удалить все записи, у которых значение поля kol больше 8 и значение поля cena меньше 100;

  • проверьте результат выполнения команды, просмотрев данные; (дополните отчет);

  • Восстановите все удаленные записи.


  1. Вывод данных на экран дисплея.


Перейдите в таблицу Knig. Установите указатель на запись, у которой поле kodkn=6.

Выполните в командном окне команду: DISPLAY

Проверьте результат выполнения команды, просмотрев данные; (дополните отчет).


Выполните в командном окне команду: DISPLAY ALL

Проверьте результат выполнения команды, просмотрев данные; (дополните отчет).


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

  • Вывести на экран поля autor и nazvanie всех записей;

  • проверьте результат выполнения команды, просмотрев данные; (дополните отчет);

  • Вывести на экран поля autor, nazvanie и kol всех записей, у которых количество больше 9;

  • проверьте результат выполнения команды, просмотрев данные; (дополните отчет);

  • Вывести на экран поля autor, nazvanie и cena всех записей, у которых цена меньше 120;

  • проверьте результат выполнения команды, просмотрев данные; (дополните отчет);

  • Вывести на экран поля autor, nazvanie, cena и kol всех записей, у которых поле kodt=6;

  • проверьте результат выполнения команды, просмотрев данные; (дополните отчет);

  • Вывести на экран структуру текущей таблицы;

  • проверьте результат выполнения команды, просмотрев данные; (дополните отчет).


Выполните аналогичные действия, используя команду LIST.


  1. Перемещение по записям таблицы.


Перейдите в таблицу Knig. Используя команды перемещения, выполните следующие действия:

  • переместите с помощью команды указатель на последнюю запись в таблице;

  • проверьте результат выполнения команды, просмотрев данные; (дополните отчет);

  • проверьте значение функции eof( ) (для вывода значения на экран выполните команду ? eof( ) ); (дополните отчет);

  • переместите с помощью команды указатель на первую запись в таблице;

  • проверьте результат выполнения команды, просмотрев данные;

  • проверьте значение функции bof( ) (для вывода значения на экран выполните команду ? bof( ) ); (дополните отчет);

  • переместите с помощью команды указатель на запись с номером 5;

  • проверьте результат выполнения команды, просмотрев данные; (дополните отчет);

  • переместите с помощью команды указатель на предыдущую запись;

  • проверьте результат выполнения команды, просмотрев данные; (дополните отчет);

  • переместите с помощью команды указатель на 3 записи вниз;

  • проверьте результат выполнения команды, просмотрев данные; (дополните отчет);

  • переместите с помощью команды указатель на 4 записи вверх;

  • проверьте результат выполнения команды, просмотрев данные; (дополните отчет).


  1. Покажите файл с результатами преподавателю.


  1. Выполнение самостоятельного задания.


Откройте базу данных вашего варианта, созданную ранее. Добавьте в таблицы недостающие данные.

Выполните в командном окне тренировочные команды по замене данных, удалению и восстановлению записей, выводу записей на экран, перемещению по записям таблицы.



Практическая работа 4

«Создание индексов и определение отношений между таблицами»


ВНИМАНИЕ! Проверьте, установлен ли по умолчанию путь к вашей папке!


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


Откройте в своей папке созданную ранее БД Mydata. Для таблицы Tip откройте конструктор таблиц и в окне конструктора перейдите на вкладку Indexes. Создайте для данной таблицы два индекса:


hello_html_m202ef685.png


Сохраните внесенные изменения. Обратите внимание, что созданные индексы появились в макете таблицы в конструкторе БД.


Аналогичным образом создайте индексы для таблицы Knig:

hello_html_m31209617.png


  1. Установление отношений между таблицами.


Перейдите в конструктор БД, в котором находятся таблицы Tip и Knig, с созданными индексами.

hello_html_m1f13999.png


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

hello_html_m417d0e12.png



  1. Контроль целостности данных


Для созданной связи выберите пункт Edit Referential Integrity контекстного меню и установите каскадные правила обновления и каскадные правила удаления, а также правила вставки Restrict.


  1. Выполнение самостоятельного задания


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

Установите долговременные отношения между таблицами, используя созданные индексы. Осуществите контроль целостности данных.


  1. Покажите результат преподавателю.



Практическая работа 5

«Использование индексов»


Для возможности проверки преподавателем ваших выполненных заданий, необходимо создать файл отчета в среде Microsoft Word, в который скопировать все выполненные команды и скрин-шоты с результатами.


ВНИМАНИЕ! Проверьте, установлен ли по умолчанию путь к вашей папке!


  1. Создание дополнительных индексов.

Откройте в своей папке созданную ранее БД Mydata. Для таблицы Knig создайте дополнительные индексы:

  • Индекс k4 - по полю kodkn;

  • Индекс k5 - по полю kol;

  • Индекс k6 - по полям autor и kol;


  1. Выбор активного индекса в процессе выполнения.

Откройте таблицу Knig. Выполните команды, которые по очереди подключают все индексы (set order to …).

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


  1. Обновление индексов.

Откройте таблицу Knig в монопольном режиме. Выполните для данной таблицы переиндексирование.

Аналогично выполните обновление индексов для таблицы Tip.


  1. Выполнение самостоятельного задания.

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

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


  1. Покажите файл с результатами преподавателю.



Практическая работа 6

«Сортировка и поиск данных»


ВНИМАНИЕ! Проверьте, установлен ли по умолчанию путь к вашей папке!

Для возможности проверки преподавателем ваших выполненных заданий, необходимо создать файл отчета в среде Microsoft Word, в который скопировать все выполненные команды и скрин-шоты с результатами.



  1. Создание дополнительной таблицы в базе данных.

Откройте в своей папке созданную ранее БД Mydata. Создайте в базе новую таблицу с именем Izd и следующей структурой:

hello_html_265b81be.png


Введите в таблицу следующие данные:

hello_html_m61e44c86.png


  1. Создание постоянной сортировки.

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

  • По полю n_izd – имя копии таблицы Izd1

  • По полю adres – имя копии таблицы Izd2

  • По полю Fio_r – имя копии таблицы Izd3

  • По полю adres, n_izd – имя копии таблицы Izd4

Откройте созданные таблицы, просмотрите их и проверьте в них сортировку данных.

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


  1. Создание виртуальной сортировки.

Откройте таблицу Knig. Для таблицы Knig установите следующие виртуальные сортировки (при помощи соответствующих индексов):

  • По полям autor и nazvanie;

  • Просмотрите результат и занесите команду и результат в отчет;

  • По полю cena;

  • Просмотрите результат и занесите команду и результат в отчет;

  • По полю kol;

  • Просмотрите результат и занесите команду и результат в отчет;

  • По полю kodt и kodkn;

  • Просмотрите результат и занесите команду и результат в отчет.


  1. Поиск данных в неиндексированной таблице – команда LOCATE.

Для таблицы Knig отключите все индексы. Выполните поиск записей, удовлетворяющих следующим условиям:

  • Найти запись с автором ‘Пушкин А.С.’;

  • Просмотрите результат и занесите команду и результат в отчет;

  • Найти запись с ценой, равной 255;

  • Просмотрите результат и занесите команду и результат в отчет;

  • Найти запись с количеством, равным 10;

  • Просмотрите результат и занесите команду и результат в отчет;

  • Найти запись с автором ‘Есенин С.А.’ и названием ‘Лирика’;

  • Просмотрите результат и занесите команду и результат в отчет;

  • Найти запись с кодом типа, равным 4;

  • Просмотрите результат и занесите команду и результат в отчет;

  • Продолжить поиск, пока не будет достигнут конец таблицы;

  • Просмотрите результат и занесите команду и результат в отчет;

  • Найти запись с автором ‘Кузнецов А.А.’ и названием ‘История России’;

  • Просмотрите результат и занесите команду и результат в отчет.


  1. Поиск данных в индексированной таблице - команда SEEK.

Для таблицы Knig выполните следующие команды поиска данных по ключевому выражению индекса (при этом необходимо сначала подключить соответствующий индекс):

  • Найти запись с автором ‘Иванов А.М.’;

  • Просмотрите результат и занесите команду и результат в отчет;

  • Найти запись с количеством, равным 5;

  • Просмотрите результат и занесите команду и результат в отчет;

  • Найти запись с ценой, равной 180;

  • Просмотрите результат и занесите команду и результат в отчет;

  • Найти запись с кодом типа, равным 4;

  • Просмотрите результат и занесите команду и результат в отчет;

  • Выполните команду Set near on. Найти запись с автором ‘Кузнецов В.В.’;

  • Просмотрите результат и занесите команду и результат в отчет;

  • Выполните команду Set near off. Найти запись с автором ‘Кузнецов В.В.’;

  • Просмотрите результат и занесите команду и результат в отчет. Чем отличаются результаты поиска в двух последних заданиях?


  1. Покажите файл с результатами преподавателю.



Практическая работа 7

«Фильтрация данных»


ВНИМАНИЕ! Проверьте, установлен ли по умолчанию путь к вашей папке!

Для возможности проверки преподавателем ваших выполненных заданий, необходимо создать файл отчета в среде Microsoft Word, в который скопировать все выполненные команды и скрин-шоты с результатами.



  1. Установка фильтра и выполнение операций с фильтрованными записями.

Откройте в своей папке созданную ранее БД Mydata. Просмотрите записи в таблице Knig.

Выполните следующие команды в командном окне:


  • Отфильтруйте записи с полем kodt, равным 2 или 3;

  • Просмотрите результат и занесите команду и результат в отчет;

  • Выведите отфильтрованные записи на экран с помощью команды List;

  • Просмотрите результат и занесите команду и результат в отчет;

  • Отфильтруйте записи с полем kol, большим 9;

  • Просмотрите результат и занесите команду и результат в отчет;

  • Замените одной командой у всех отфильтрованных записей поле kol значением 15;

  • Просмотрите результат и занесите команду и результат в отчет;

  • Отфильтруйте записи, у которых cena<100 и kodt=1;

  • Просмотрите результат и занесите команду и результат в отчет;

  • Выполните команду по удалению всех записей;

  • Просмотрите результат и занесите команду и результат в отчет;

  • Восстановите все записи;

  • Просмотрите результат и занесите команду и результат в отчет;

  • Отмените фильтрацию данных.


Откройте таблицу Izd. Выполните следующие команды в командном окне:


  • Отфильтруйте записи, у которых адрес равен ‘Москва’;

  • Просмотрите результат и занесите команду и результат в отчет;

  • Замените у всех отфильтрованных записей поле n_izd значением ‘БиномМ’;

  • Просмотрите результат и занесите команду и результат в отчет;

  • Отфильтруйте записи, у которых название издательства имеет значение ‘Наука’;

  • Просмотрите результат и занесите команду и результат в отчет;

  • Замените у всех отфильтрованных записей поле Fio_r значением ‘Осенков С.В.’;

  • Просмотрите результат и занесите команду и результат в отчет;

  • Отмените фильтрацию данных.



  1. Покажите файл с результатами преподавателю.



Практическая работа 8

«Создание простых программ»


ВНИМАНИЕ! Проверьте, установлен ли по умолчанию путь к вашей папке!


  1. Использование переменных в программе.


Создайте программу prog1. В программе присвоить значение следующим переменным:

  • Fio – ваша фамилия

  • Dat – дата рождения

  • Vozr – возраст

  • Spec - специализация

  • Gr - группа

  • Kurs – курс

  • Priz – истина, если вы получаете стипендию, ложь в противном случае.

Вывести созданные переменные на экран. Если вы получаете стипендию, то вывести сообщение ‘Молодец!’, в противном случае сообщение ‘Надо стараться!’.


Создайте программу prog2. В программе с помощью команды store присвоить значение следующим переменным:

  • S1, s2, s3 – значение 50

  • A, b, c – значение ‘Массив’

  • D1, d2 – значение текущей даты

Вывести созданные переменные на экран. Вычислить сумму переменных s1 и s2, результат присвоить переменой s4. Вычислить произведение переменных s2 и s3, результат присвоить переменной s5. Вывести все результаты на экран.


Создайте программу prog3. В программе присвоить значение следующим переменным:

  • r1 - значение 100

  • r2 – ваш возраст

Вычислить остаток от деления переменной r1 на r2, результат присвоить переменной r3 и вывести на экран. Если полученный результат равен 0, то вывести сообщение ‘Остаток равен 0’, в противном случае вывести сообщение ‘Остаток не равен 0’. Вычислить квадрат вашего возраста, результат присвоить переменной r4 и вывести на экран.


Создайте программу prog4. В программе присвоить значение следующим переменным:

  • S1 - значение ‘Создание’

  • S2 – значение ‘программ’

Выполнить конкатенацию введенных строк с пробелом между ними и результат присвоить переменной s3. Вывести результат на экран.


  1. Использование конструкций языка.


Создайте программу prog5. В программе переменной str присвоить произвольное имя. Если значение переменной str совпадает с вашим именем, то вывести сообщение ‘Привет!’, в противном случае сообщение ‘Здравствуйте!’. Протестируйте программу для разных значений исходных данных.


Создайте программу prog6. В программе переменной d присвоить произвольное целое значение. Используя оператор выбора, вывести по заданному значению переменной d название дня недели (1-понедельник, 2 – вторник, … 7 – воскресенье, во всех остальных случаях – недопустимое значение). Протестируйте программу для разных значений исходных данных.


Создайте программу prog7. В программе переменным N и М присвоить произвольные целые значение. Используя циклическую конструкцию, вывести на экран все числа от 1 до N, кратные М.


Создайте программу prog8. В программе переменной N присвоить произвольное значение (от 1 до 10). Используя циклическую конструкцию, вывести на экран свое имя N раз.


Создайте программу prog9, которая выводит на экран таблицу значений функции hello_html_maeb97be.gifна отрезке [-2, 2] с шагом 0.33.

  1. Покажите результат преподавателю.



Практическая работа 9

«Создание простых программ по обработке данных»

ВНИМАНИЕ! Проверьте, установлен ли по умолчанию путь к вашей папке!


  1. Обработка данных в таблице Knig.


Создайте программу prog10. В программе выполните следующие действия с таблицей Knig:

  • Открыть таблицу

  • Подключить индекс k2

  • Переместить указатель записи на запись с номером 8

  • Вывести на экран поля autor, nazvanie, cena текущей записи.

  • Переместить указатель записи на следующую запись

  • Заменить количество в текущей записи на удвоенное значение.

  • Открыть окно просмотра таблицы

Проверьте работу программы.


Создайте программу prog11. В программе выполните следующие действия: Вывести на экран поля autor, nazvanie, cena всех записей, у которых цена меньше 50 (использовать цикл DO WHILEENDDO).


Создайте программу prog12. В программе выполните следующие действия: Вывести на экран поля autor, nazvanie, kol всех записей, у которых количество больше 10 (использовать цикл SCANENDSCAN).


  1. Поиск данных в таблице Knig.


Создайте программу prog13. В программе выполните следующие действия: Используя поиск в неиндексированной таблице, найти запись с произвольным значением поля nazvanie и вывести на экран реквизиты найденной записи. Если запись не найдена, то вывести сообщение ‘Запись не найдена!’. Протестируйте работу программы для разных значений поля nazvanie.

Создайте программу prog14. В программе выполните следующие действия: Активируйте индекс k5. Используя поиск в индексированной таблице, найти запись с произвольным значением поля kol и вывести на экран реквизиты найденной записи. Если запись не найдена, то вывести сообщение ‘Запись не найдена!’. Протестируйте работу программы для разных значений поля kol.

Создайте программу prog15. В программе выполните следующие действия: Используя любую циклическую конструкцию, вывести на экран поля autor и nazvanie всех записей таблицы, и для каждой записи вычислить произведение полей cena и kol и также вывести результат на экран. Протестируйте работу программы.


  1. Покажите результат преподавателю.



Практическая работа 10

«Использование стандартных функций Visual Foxpro в программировании»


ВНИМАНИЕ! Проверьте, установлен ли по умолчанию путь к вашей папке!


  1. Использование математических функций.


Создайте программу prog16. В программе выполните следующие действия: Переменной x присвойте произвольное вещественное значение с числом десятичных знаков, равное 5 (например, 123.67953).

Используя встроенные математические функции, вычислить:

  • Синус числа х;

  • Целую часть числа х;

  • Результат округления числа х до целого;

  • Арктангенс числа х;

  • Результат округления числа х до двух десятичных знаков;

  • Корень квадратный из числа х;

  • Число х в кубе.

Все результаты вывести на экран.


  1. Использование символьных функций.


Создайте программу prog17. В программе выполните следующие действия: переменной str присвойте произвольное строковое значение, длиной не менее 20 символов (например, ‘ Техническое задание ’).

Используя встроенные символьные функции, выполнить:

  • Удалить все начальные и конечные пробелы из строки;

  • Выделить из начала строки 5 символов;

  • Определить номер позиции, с которой начинается подстрока ‘а’;

  • Преобразовать все буквы в заглавные;

  • Выделить из строки 5 символов, начиная с третьего;

  • Вычислить длину строки.

Все результаты вывести на экран.


  1. Использование функций по обработке даты.


Создайте программу prog18. В программе выполните следующие действия: переменной dd присвойте значение системной даты.

Используя встроенные функции, выполнить:

  • Выделить номер дня из даты;

  • Выделить номер месяца из даты;

  • Выделить номер года из даты;

Все результаты вывести на экран.


  1. Покажите результат преподавателю.



Практическая работа 11

«Диспетчер проектов. Создание и работа с проектом»


ВНИМАНИЕ! Проверьте, установлен ли по умолчанию путь к вашей папке!


  1. Создание проекта. Исследование созданного проекта.


Создайте проект любым из имеющихся способов (посредством главного меню или с помощью команды). При сохранении введите имя проекта:


ВНИМАНИЕ! Имя вашего проекта – Myproj_N, где N – ваш номер по журналу (например, если ваш номер 3, то имя проекта - Myproj_3).


Изучите разделы проекта и просмотрите доступные функциональные кнопки проекта.


  1. Добавление файлов в проект.


Задание 1.

Перейдите на вкладку Data и выберите в списке пункт Database. Добавьте в проект базу данных Mydata, созданую ранее. Обратите внимание, что при установке курсора на добавленную БД, в нижней части проекта отображается полный путь к файлу БД. Убедитесь, что путь соответствует вашей папке!

Проверьте работу функциональных кнопок на данной вкладке.

На вкладке Data выберите пункт Free Tables (свободные таблицы) и добавьте в этот раздел свободную таблицу вашего варианта, созданную на первом практическом занятии. Убедитесь, что путь таблицы соответствует вашей папке! Проверьте работу функциональных кнопок при работе со свободными таблицами.

Скопируйте скрин-шот с вкладкой Data в файл отчета.


Задание 2.

Перейдите на вкладку Documents. Изучите активные функциональные кнопки.


Задание 3.

Перейдите на вкладку Code. Изучите активные функциональные кнопки. Выберите в списке пункт Program. Добавьте все разработанные вами программы в проект. Убедитесь, что пути программных файлов соответствуют вашей папке! Проверьте работу функциональных кнопок при работе с программными файлами. Используя кнопки, откройте любую программу для изменения, попробуйте запустить программу и т.д.

Используя кнопки проекта, создайте новую программу prog20, которая решает задачу, выданного вам варианта (на карточке).

Текст созданной программы и результат ее выполнения добавьте в отчет. Проверьте наличие созданной программы в проекте. Если программа отсутствует, то самостоятельно добавьте ее в проект. Скопируйте скрин-шот с вкладкой Code в файл отчета.


Задание 4.

Перейдите на вкладку Other. Изучите активные функциональные кнопки. Выберите в списке пункт Other Files. Добавьте в проект несколько картинок (файлы с расширением .bmp, .jpg и т.д.).

Скопируйте скрин-шот с вкладкой Other в файл отчета.


  1. Покажите результат преподавателю. Закройте созданный проект. После выхода в операционную систему проверьте наличие в вашей папке файлов с вашим именем Myproj_N.pjx и Myproj_N .pjt.



Практическая работа 12

«Создание запросов»


ВНИМАНИЕ! Проверьте, установлен ли по умолчанию путь к вашей папке!

Для возможности проверки преподавателем ваших выполненных заданий, необходимо создать файл отчета в среде Microsoft Word, в который скопировать все выполненные команды и скрин-шоты с результатами.











Откройте свой проект, созданный ранее.


  1. Создание запроса с помощью мастера из главного меню.


Задание: создать запрос на основе таблицы knig, содержащий поля Название и Автор.


В главном меню выберите пункт FileNew и в окне New выберите создание запроса с помощью мастера. В окне Wizard Selection выберите мастер запросов:


hello_html_m301ce7b4.png


Выполните шаги мастера:

1 шаг – из таблицы Knig выберите поля nazvanie и autor.

2 шаг – здесь отсутствует, так как запрос создается на основе одной таблицы.

3 шаг – оставьте без изменения.

4 шаг – установите сортировку по полю nazvanie по возрастанию.

5 шаг – завершите создание запроса.


Сохраните запрос под именем knig1. Проверьте наличие созданного запроса в своей папке.


  1. Запуск запроса на выполнение разными способами.


В командном окне выполните команду DO knig1.qpr и посмотрите созданный запрос.

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


Затем попробуйте запустить запрос, используя опции главного меню – ProgramDo.


Добавьте созданный запрос в свой проект. Для этого перейдите в проекте на вкладку Data и выберите раздел QUERIES, нажмите кнопку Add, выберите имя созданного вами запроса и нажмите на кнопку Ok.

Запустите запрос из проекта – кнопка Run.


  1. Создание запроса с помощью команды CREATE QUERY в режиме конструктора.


Задание: создать запрос на основе таблицы knig, содержащий поля Название, Автор и Цена и записи с ценой больше 100.


В командном окне выполните команду CREATE QUERY. В результате запускается конструктор запросов.


1 шаг. Выберите таблицу, на основе которой будет создан запрос – knig, нажмите кнопку Add и закройте окно Add Table or View.

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

hello_html_484b1271.png


2 шаг. На вкладке Fields выберите поля, включаемые в запрос (см. задание). Для этого выберите нужное поле и нажмите кнопку Add.


3 шаг. На вкладке Filter установите условие фильтра:

hello_html_171ea545.png

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


4 шаг. На вкладке Order By выберите условие сортировки – по полям autor и nazvanie.


5 шаг. Для просмотра запроса нажмите кнопку hello_html_4a4efad4.png на панели инструментов.

Добавьте в свой отчет скрин-шот с результатом выполнения запроса.


6 шаг. С помощью кнопки hello_html_m1b0476a4.pngпанели инструментов просмотрите текст программы, которая создает запрос.

Добавьте в свой отчет скрин-шот с программным кодом.


7 шаг. Закройте окно конструктора запросов. Сохраните запрос под именем knig_cen. Добавьте созданный запрос в свой проект.


Добавьте созданный запрос в свой проект.

Запустите созданный запрос любым способом и просмотрите результат.

Добавьте в свой отчет скрин-шот с результатом выполнения запроса.


  1. Изменение существующего запроса.


Выберите в проекте имя созданного вами запроса knig_cen - и нажмите на кнопку Modify. В результате открывается конструктор запросов.

На вкладке Filter измените условие отбора записей: cena<100. Сохраните запрос и просмотрите результат.

Добавьте в свой отчет скрин-шот с результатом выполнения запроса.


  1. Создание запроса из проекта с помощью конструктора.


Перейдите в проекте на вкладку Data и выберите раздел QUERIES, нажмите кнопку New. В появившемся окне нажмите кнопку New Query.

Далее аналогично предыдущему запросу создайте запрос: на основе таблицы Tip. В запрос выберите поле name и установите сортировку по этому же полю. Сохраните запрос с именем tip1 и просмотрите его.


Добавьте в свой отчет скрин-шот с результатом выполнения запроса.


  1. Создание запроса на основе двух таблиц с помощью мастера.


Задание: создать запрос на основе двух таблиц - tip и knig, содержащий поля Наименование типа, Название книги, Автор и Цена.


Перейдите в проекте на вкладку Data и выберите раздел QUERIES, нажмите кнопку New. В появившемся окне нажмите кнопку Query Wizard. В результате будет запущен мастер создания запросов.


1 шаг – Выбор полей. Из таблицы Tip выберите поле name, из таблицы Knig выберите поля Autor, Nazvanie, Cena.


2 шаг – Установление связи между таблицами. Нажмите кнопку Add для выбора связи.


2а шаг – Записи, включаемые в запрос. Оставляем без изменения.


3 шаг – Фильтрация записей. Для эксперимента установите фильтр для таблицы Tip

hello_html_2ba1f0a4.png


и нажмите кнопку hello_html_m25b121f6.png, чтобы посмотреть результат. В запросе содержатся только записи, у которых kodt равен 1.

Очистите условие фильтра и перейдите на следующий шаг.


4 шаг – Сортировка записей. Установите сортировку по полю name.


4а шаг – Лимит записей. Оставляем без изменения.


5 шаг – Финиш. Нажмите кнопку Finish и сохраните запрос с именем tip_kn.

Запустите запрос для просмотра. Обратите внимание, что в нем содержатся данные из двух таблиц, что очень удобно для просмотра.


Добавьте в свой отчет скрин-шот с результатом выполнения запроса.


Нажмите в проекте кнопку Modify для созданного запроса и перейдите на вкладку Join. Проверьте, правильно ли установлена связь между таблицами.


  1. Покажите результат преподавателю. Закройте свой проект и осуществите выход из системы.


Практическая работа 13

«Создание усложненных запросов»


ВНИМАНИЕ! Проверьте, установлен ли по умолчанию путь к вашей папке!








Для возможности проверки преподавателем ваших выполненных заданий, необходимо создать файл отчета в среде Microsoft Word, в который скопировать все выполненные команды и скрин-шоты с результатами.




Откройте свой проект, созданный ранее.


  1. Создание запроса, содержащего вычисляемые поля.


Задание: создать запрос на основе таблицы knig, содержащий вычисляемые поля Автор+ Название и Сумма=Цена*Количество.


Перейдите в проекте на вкладку Data и выберите раздел QUERIES, нажмите кнопку New. В появившемся окне нажмите кнопку New Query. Добавьте в запрос таблицу knig.

В конструкторе запросов:

  1. Создание вычисляемых полей:

  • на вкладке выбора полей откройте построитель выражений (кнопка hello_html_mbe17400.png) и создайте выражение для первого поля – alltrim(autor)+alltrim(nazvanie) as Книга. Закройте построитель и перенесите созданное выражение в список выбранных полей.

  • откройте вновь построитель и создайте выражение для второго поля – cena*kol as Сумма. Закройте построитель и перенесите созданное выражение в список выбранных полей.

  1. Установите в запросе сортировку по полю autor и nazvanie по возрастанию.

  2. Просмотрите запрос.


Добавьте в свой отчет скрин-шот с результатом выполнения запроса.


Сохраните запрос под именем knig_itog. Проверьте, добавился ли созданный запрос в проект, если нет, то добавьте его самостоятельно.



  1. Создание запроса, содержащего несколько условий фильтрации.


Задание: создать запрос на основе таблицы knig, содержащий поля kodt, Название, Автор и Цена, содержащий записи, у которых kodt равен 1 или 5.


Перейдите в проекте на вкладку Data и выберите раздел QUERIES, нажмите кнопку New. В появившемся окне нажмите кнопку New Query. Добавьте в запрос таблицу knig.

В конструкторе запросов:

  1. Выберите нужные поля для запроса

  2. Введите первое условие фильтра (kodt=1). В столбце Logical в качестве логического оператора выберите OR, так как по условию kodt равен 1 ИЛИ 5.

  3. Введите второе условие фильтра (kodt=5).

  4. Установите сортировку по полю kodt по убыванию.

  5. Просмотрите запрос.

Добавьте в свой отчет скрин-шот с результатом выполнения запроса.


Сохраните запрос под именем knig_1_5. Проверьте, добавился ли созданный запрос в проект, если нет, то добавьте его самостоятельно.



  1. Создание запроса, содержащего несколько условий фильтрации.


Задание: создать запрос на основе таблицы knig, содержащий поля kodt, Название, Автор и Цена, содержащий записи, у которых kodt равен 5 и cena больше 100.

Задание выполнять аналогично первому.

Добавьте в свой отчет скрин-шот с результатом выполнения запроса.


Сохраните запрос под именем knig_5_100. Проверьте, добавился ли созданный запрос в проект, если нет, то добавьте его самостоятельно.



  1. Создание запроса, содержащего группировку записей для вычисления итоговых значений.

Задание: создать запрос, содержащий наименования типов книг и итоги по полю Сумма.


В запросе можно группировать записи для получения итоговой информации.

Перейдите в проекте на вкладку Data и выберите раздел QUERIES, нажмите кнопку New. В появившемся окне нажмите кнопку New Query. Добавьте в запрос таблицу tip, затем таблицу knig.


1 шаг – выбор полей для запроса

На вкладке Fields выберите сначала поле Tip.Name.

В разделе Functions and Expression задайте выражение для суммирования значений по полю cena. Для построения выражения нажмите кнопку […]. Выберите функцию SUM() в разделе Math (математические функции), затем поле cena и нажмите кнопку Ok. Построенное выражение должно появиться в поле Functions and Expression:

hello_html_3c7a094.png

Добавьте построенное выражение в раздел Selected Fields. В результате в запрос будет добавлено вычисляемое поле.


Аналогично постройте выражение MAX(Knig.cena) и перенесите его в раздел Selected Fields.

Аналогично постройте выражение MIN(Knig.cena) и перенесите его в раздел Selected Fields.

Таким образом, в запросе будут выводится четыре поля –

Наименование типа,

Сумма цен по каждому типу,

Максимальная цена в каждом типе,

Минимальная цена в каждом типе.


2 шаг – сортировка записей в запросе.

На вкладке Order By установите сортировку по полю Name из таблицы Tip.


3 шаг – группировка записей для вывода итоговых данных.

На вкладке Group By перенесите поле Name в список Grouped fields. Благодаря этой операции в запросе будет выведена только одна запись по каждому наименованию типа.


4 шаг - просмотрите полученный запрос.

Добавьте в свой отчет скрин-шот с результатом выполнения запроса.


Сохраните запрос под именем tip_sum.



Практическая работа 14

«Создание форм с помощью мастера»


ВНИМАНИЕ! Проверьте, установлен ли по умолчанию путь к вашей папке!


Откройте свой проект, созданный ранее.


  1. Создание однотабличной формы.


Задание: создать с помощью мастера форму на основе таблицы izd.



Перейдите в проекте на вкладку Documents и выберите раздел Forms. Для создания новой формы нажмите кнопку New в проекте. В появившемся окне New Form нажмите кнопку Form Wizard:

hello_html_m23de41cf.png

В появившемся окне Wizard Selection выберите пункт Form Wizard для создания однотабличной формы:

hello_html_6e496c2e.png

Выполните шаги мастера, выполняя все его инструкции.

1 шаг – для таблицы Izd выберите все поля.

2 шаг – в качестве оформления формы выберите стиль Shadowed и тип кнопок Custom.

3 шаг – установите сортировку по полю n_izd по возрастанию.

4 шаг – введите заголовок формы – Данные об издательствах, просмотрите результат с помощью кнопки Preview. Перед сохранением выберите в окне опцию Save and run form (Сохранить и запустить форму).

hello_html_340898c6.png

После этого нажмите кнопку Finish.

В появившемся окне Save As укажите путь к своей папке и задайте имя новой формы – izd1.

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

Добавьте в таблицу новую запись с данными: код издательства – 1, название издательства – Форум, адрес – Москва, фио руководителя – Кузьмичев А.С.


  1. Модификация формы.


Задание: внести изменения в форму izd1, используя конструктор.



Откройте созданную форму izd1 в режиме конструктора.

- изменение цвета объектов формы:

Активируйте панель инструментов Color Palette с помощью пункта меню ViewToolbars. С помощью кнопок данной панели измените цвет надписи «Данные об издательствах» и цвет фона формы. Запустите форму, сохраните ее и проверьте результат внесенных изменений.

- изменение расположения и размеров объектов формы:

Переместите надпись «Данные об издательствах» так, чтобы она располагалась по горизонтали по центру.

Уменьшите размер контейнера, в котором отображаются данные. Запустите форму и проверьте результат внесенных изменений.

- изменение свойств объектов:

В окне Properties выберите в списке объектов формы объект cmdFind. Затем в списке свойств этого объекта найдите свойство Caption и введите в строке ввода слово Поиск.

hello_html_20bf9ec6.png

В результате в форме эта кнопка будет иметь название «Поиск». Аналогично измените названия остальных кнопок: cmdPrint - Печать, cmdAdd - Ввод, cmdDelete - Удаление, cmdExit – Выход.

Для кнопки Выход установите свойство FontBold равным .Т. , свойство ForeColor равным 255,0,0 . Обратите внимание, что значения всех свойств, которые мы изменяли в окне Properties, изменяют свой цвет на фиолетовый.

Запустите форму и проверьте результат внесенных изменений.

Закройте форму и сохраните все изменения.


  1. Создание формы на основе двух таблиц.


Задание: создать с помощью мастера форму на основе таблиц tip и knig.



Запустите мастер форм из проекта. В окне Wizard Selection выберите пункт One-to-Many Form Wizard для создания формы один-ко-многим:

hello_html_m3b257c47.png

Выполните шаги мастера:

1 шаг – для родительской таблицы tip выберите поле naim.

2 шаг – для дочерней таблицы knig выберите поля autor, nazvanie, cena, kol.

3 шаг – проверьте, правильно ли установлена связь между таблицами – должна быть установлена связь по полю kodt.

4 шаг – в качестве оформления формы выберите стиль Embossed и тип кнопок Picture buttons.

5 шаг – установите сортировку по полю Name.

6 шаг - введите заголовок формы – Перечень книг, просмотрите результат с помощью кнопки Preview.

После этого нажмите кнопку Finish.

В появившемся окне Save As укажите путь к своей папке и задайте имя новой формы – tip_knig.


  1. Тестирование формы.


Задание: запустить форму tip_ knig и проверить ее работу.



Запустите форму из проекта. Проверьте работу всех кнопок. Обратите внимание на то, какие недочеты имеет форма, чтобы в дальнейшем их устранить.


  1. Модификация формы.


Задание: внести изменения в форму tip_ knig, используя конструктор.



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

- изменение размеров объектов:

Так как данные таблицы не полностью видны в форме, то необходимо изменить размер формы (увеличить по ширине) и размер объекта Grid1 так чтобы отображались все данные. С помощью мыши измените размеры указанных объектов.

Запустите форму, сохраните ее и проверьте результат внесенных изменений.

  • изменение свойств объектов:

В окне Properties выберите в списке объектов формы объект Form1. Затем в списке свойств этого объекта найдите свойство MaxButton и измените его значение на .F. . Аналогично для свойства MinButton установите значение .F. . Обратите внимание, что в заголовке формы исчезли кнопки максимизации и минимизации окна.

Запустите форму, сохраните ее и проверьте результат внесенных изменений.

Для надписи Перечень книг измените цвет текста и расположите ее по горизонтали по центру. Для текстового поля Name и подписи к нему измените размер шрифта и цвет текста.

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

В окне Properties выберите в списке объектов формы объект cmdTop. Затем в списке свойств этого объекта найдите свойство ToolTipText и введите в строке ввода слово На первую.

hello_html_3b2f2630.png

Запустите форму и проверьте измененную подсказку. Аналогично измените текст подсказки для всех остальных кнопок – Предыдущая, Следующая, На последнюю, Поиск, Печать, Ввод/Сохранение, Редактирование, Удаление, Выход.

Запустите форму, сохраните ее и проверьте результат внесенных изменений.

Завершите работу с формой tip_ knig.


  1. Покажите результат работы преподавателю.



Практическая работа 15

«Конструктор форм. Настройка параметров формы. Определение среды окружения»


ВНИМАНИЕ! Проверьте, установлен ли по умолчанию путь к вашей папке!


Откройте свой проект, созданный ранее.


  1. Создание экранной формы с помощью команды CREATE FORM.


Задание: создать форму, настроить основные свойства формы.


В командном окне выполните команду CREATE FORM f1. В результате запускается конструктор форм и открывается окно со свойствами формы.

Для работы с конструктором форм необходимо окно свойств Properties, панели инструментов Form Designer и Form Controls.

hello_html_m8272be0.pnghello_html_m1f47f8cd.gif


hello_html_m1fec5935.pnghello_html_m76e5f005.gif


hello_html_m57cff3c9.pnghello_html_m5c3bb7a9.gif


Если окно свойств отсутствует, то нажмите кнопкуhello_html_63f49f74.png на главной панели инструментов.

Если панели инструментов отсутствуют, то для их активации выберите пункт меню ViewToolbars и выберите нужную панель.


В окне свойств установите основные свойства формы:

AutoCenter – .t.

центрирование объекта Form

BorderStyle – 1

стиль обрамления объекта

Caption – «Типы книг»

текст названия объекта

MaxButton – .f.

Кнопка максимизации объекта

MinButton – .f.

Кнопка минимизации объекта

Picture

Установка фонового рисунка

WindowType – 0

0 – немодальный, меню активно.

1 - модальный. В этом случае будет активна только данная форма, никакой другой объект Form не может стать активным, меню неактивно.


Запустите форму для проверки установленных свойств.

Дhello_html_50cb5198.gifля запуска формы используется кнопкаhello_html_mb59433f.png на главной панели инструментов.


  1. Определение среды окружения формы и вставка в форму элемента «Сетка».

Задание: подключить к форме таблицу tip, добавить в форму элемент Grid, настроить необходимые свойства.


Для подключения данных к форме используется диалоговое окно Data Environment. Оно отображает элементы среды данных, с которой работает экранная форма. Для активации окна Data Environment используются следующие способы: через главное меню View, через контекстное меню, через панель инструментов Form Designer – кнопкаhello_html_5ce699b9.png .

Используйте любой из предложенных способов – на экране появится окно для выбора нужной таблицы. Выберите таблицу tip и закройте окно. Выбранная таблица будет вставлена в окно Data Environment.

Выделите таблицу и установите для нее свойство Order – индекс t1. Данное свойство подключает индекс для сортировки таблицы.

Для вставки таблицы в форму достаточно перетащить таблицу за заголовок мышкой на форму. Выполните это. В результате в форме создается элемент управления Grid. После этого закройте окно Data Environment, так как оно нам пока не потребуется.

Рассмотрите в окне свойств Properties свойства элемента Grid, которые установлены по умолчанию (они выделены фиолетовым цветом).

RecordSource

Задает источник данных, к которому привязан элемент управления Grid.


Установите дополнительные свойства:

DeleteMark - .f.

Определяет, будет ли в элементе управления Grid отображаться столбец маркеров удаления.

ReadOnly - .t.

Определяет, может ли пользователь редактировать элемент управления или разрешены ли обновления таблицы или представления, связанных с объектом Cursor.

.t. - Пользователь не может редактировать элемент управления.


Для настройки элемента Grid можно щелкнуть по этому элементу правой кнопкой мыши использовать команду Builder (построитель) из контекстного меню. Выберите эту команду.

На вкладке Grid Items указаны выбранные поля.

На вкладке Style выберите по желанию стиль оформления элемента Grid.

На вкладке Layout в разделе Caption введите заголовки столбцов таблицы: 1 столбец – Код, 2 столбец – Наименование. Здесь же можно изменить ширину столбцов. 1 столбец сделайте поуже, а 2 столбец – пошире, чтобы данные не обрезались.

hello_html_347856e4.png

На вкладке Relationship устанавливаются связи между таблицами. Так как у нас в форме будет отображаться одна таблица, то здесь ничего не делаем.

После установленных изменений нажмите кнопку Ok.

Измените размеры элемента Grid – уменьшите ширину так, чтобы были видны только столбцы таблицы. Разместите таблицу в центре формы.

Запустите форму для просмотра и проверьте внесенные изменения.


  1. Вставка в форму элемента «Кнопка».

Задание: создать в форме кнопку «Выход», при нажатии которой форма будет закрываться.


Чтобы вставить элемент Кнопка, щелкните на изображение кнопки hello_html_m5770d8b.png на панели Form Controls (Command Button), затем установите указатель мыши в форме и щелкните для вставки элемента управления. В форме появится элемент кнопка с именем Command1.

Для элемента Кнопка установите следующие свойства:

Caption – «Выход»

Название кнопки

FontSize – 12

Задает размер шрифта для текста, отображаемого вместе с объектом

ForeColor – выбрать красный цвет

Задает основной цвет символов, используемые при отображении текста и графики в объекте.

FontBold – .t.

Полужирное начертание букв

Cancel – .t.

Определяет, является ли элемент управления CommandButton кнопкой Cancel; это означает, что если пользователь нажмет клавишу ESC, произойдет событие Click для кнопки Cancel


Для того, чтобы кнопка работала в форме, необходимо обработать событие, которое будет происходить при нажатии кнопки. В кнопках всегда обрабатывается событие Click – однократное нажатие левой кнопки мыши.

Щелкните два раза по кнопке Command1. Откроется окно Command1.Click для ввода обрабатывающей процедуры. Введите одну команду - release thisform (эта команда закрывает активную форму).

hello_html_3c72bc04.png

Закройте окно Command1.Click.


Запустите форму и проверьте работу созданной кнопки.



  1. Настройка порядка обхода элементов управления в форме.


Задание: проверить и настроить порядок обхода элементов в форме.


Для настройки порядка обхода элементов управления в форме используется кнопка Set Tab Order hello_html_m2a9a4f0c.png на панели инструментов Form Designer.

Нажмите эту кнопку и установите порядок элементов: сетка – 1, кнопка – 2.

hello_html_m20669e3f.png

Нажмите кнопку повторно. Порядок обхода сохранится. Запустите форму для просмотра.

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


  1. Добавление в форму второй кнопки.

Задание: добавить в созданную форму кнопку «Ввод новой записи», при нажатии на которую будет загружаться новая форма – для ввода новой записи в таблицу.


Добавьте в форму новую кнопку - Command2. Установите нужные свойства:

Caption – «Ввод новой записи».

Двойным щелчком мыши вызовите окно Command2.Click. Введите следующие команды:

do FORM f2 && запуск новой формы

thisform.grdTip.SetFocus && установка фокуса на элемент Сетка

thisform.Refresh && обновление формы


Здесь после знака && введены комментарии. Закройте окно Command2.Click. Созданная кнопка пока не будет работать, так как у нас не создана форма f2. Если попробовать запустить форму и нажать данную кнопку то выйдет ошибка.


Сохраните форму. Закройте конструктор форм.

Созданную форму необходимо добавить в проект. Перейдите в проекте на вкладку Documents и выберите пункт Forms. Нажмите кнопку Add и добавьте созданную форму в свой проект.


  1. Создание экранной формы из проекта.

Задание: создать форму, установить основные свойства, подключить данные, создать коды обработки событий.


В проекте перейдите на вкладку Documents и выберите пункт Forms. Нажмите кнопку New - New Form.

Задайте основные свойства формы:

AutoCenter – .t.

BorderStyle – 1

Caption – название формы «Ввод новой записи»

MaxButton – .f.

MinButton – .f.

WindowType – 1


Подключите к форме таблицу tip с помощью окна Data Environment. Выделите таблицу и установите для нее свойство Order – индекс t1. Перетащите в форму из окна Data Environment из таблицы tip поле name. В результате в форму будут вставлены два элемента – Label (текст) и Text Box (поле для ввода).

Необходимо отредактировать данные элементы.

Выделите элемент lblName и измените для него свойство Caption – Наименование. Передвиньте элемент так, чтобы он не закрывал поле для ввода.

Выделите элемент txtName и измените для него свойство ControlSourcem.name. Это свойство задает источник данных, к которому привязывается объект. В нашем случае осуществляется привязка к переменной памяти, которая будет создана командой SCATTER MEMVAR BLANK.


Справка:

Команда SCATTER MEMVAR - копирует содержимое текущей записи таблицы в набор переменных памяти. При ссылке на переменную памяти, чтобы отличать ее имя от имени соответствующего поля в таблице, ставьте перед именем переменной префикс 'm.'.

Команда SCATTER MEMVAR BLANK - Создает набор пустых переменных памяти.


Для данной формы необходимо создать код для обработки события загрузки формы – это событие Init. Чтобы мы могли ввести новую запись в таблицу tip, необходимо создать пустой набор переменных памяти при загрузке формы.

Выполните двойной щелчок мыши по любому свободному месту формы. Откроется окно для обработки кодов формы – Form1.Load. Выберите в разделе Procedure из разворачивающегося списка событие Init:

hello_html_cba7154.png

Обратите внимание, что у окна поменяется название на Form1. Init.

Введите команду SCATTER MEMVAR blank и закройте окно.

Сохраните форму с именем f2.


  1. Вставка в форму кнопок.

Задание: добавить в форму кнопки «Выход» и «Запись».


Добавьте в форму кнопку «Выход» аналогично первой форме.


Добавьте в форму кнопку «Запись», при нажатии которой будет осуществляться запись новых данных в таблицу. Поэтому для данной кнопки нужно ввести код для события Click:

APPEND BLANK

REPLACE naim WITH thisform.TxtName.Value

RELEASE thisform


Настройте порядок обхода элементов управления в данной форме: элемент txtName – 1, кнопка Запись – 2, кнопка выход - 3.

Сохраните форму.

Для проверки работы созданных форм запустите форму f1 (кнопка Run проекта), в ней нажмите кнопку «Ввод новой записи». В появившемся окне введите произвольную новую запись.


  1. Покажите результат работы преподавателю.


  1. Ответьте на контрольные вопросы.


Контрольные вопросы:

  1. Для создания формы используется команда …

  2. Окно Properties используется для …

  3. Для создания среды окружения формы используется…

  4. Панель инструментов Form Controls используется для …

  5. Событие Click означает - …

  6. Событие Init означает - …

  7. Элемент Grid используется для …

  8. Элемент Label используется для …

  9. Элемент TextBox используется для …



Практическая работа 16

«Добавление и настройка элементов управления формы»


ВНИМАНИЕ! Проверьте, установлен ли по умолчанию путь к вашей папке!


Откройте свой проект, созданный ранее.


  1. Создание экранной формы для работы с таблицей knig.


Задание: создать форму, настроить основные свойства формы, подключить к форме таблицу knig.


  • Создайте новую форму с именем f3. Установите основные свойства для данной формы:

AutoCenter – .t.

CaptionРабота с данными

Height – 480

Width – 640

MaxButton – .f.

MinButton – .f.

WindowType – 1


  • Подключите к форме таблицу knig с помощью окна Data Environment.


Сохраните форму под именем f3 в своей папке. Запустите ее для проверки.


  1. Добавление элементов управления в форму и настройка основных свойств.


Задание: добавить в форму элементы управления – Grid, CheckBox, Label, ComboBox, TextBox, Command Button.


Для добавления в форму элементов управления используется панель Form Controls:

hello_html_509f3bb6.png


  • В форму необходимо вставить заголовок. Добавьте в форму элемент управления Надпись. Задайте для него следующие свойства:

AutoSize – .t.

BackStyle - Transparent

Сaption – Перечень книг

FontName – Arial Black

Fontsize - 12

ForeСolor – синий (0,0,255)

Расположите надпись по центру формы в ее верхней части.


Запустите форму для проверки ее работы.


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


  1. На первой вкладке выберите нужные поля – autor, nazvanie, kol, cena.

  2. На второй вкладке выберите стиль оформления Standard.

  3. На третьей вкладке измените (если требуется) подписи столбцов – Автор, Название, Количество, Цена, отрегулируйте ширину столбцов так, чтобы не обрезались данные и заголовки столбцов.

  4. Закройте построитель, сохранив внесенные изменения – кнопка ОК.


Запустите форму для проверки ее работы.


  1. Установите следующие свойства для элемента Grid:

DeleteMark - .t.

RecordMark - .t.

ReadOnly - .t.


Запустите форму для проверки ее работы.


  1. Изменим свойства элементов таблицы – заголовков столбцов и самих данных.

Для расположения заголовков по центру выполните следующие действия: щелкните по таблице правой кнопкой мыши для вызова контекстного меню и выберите в нем пункт Edit. В результате вокруг таблицы появится бирюзовая рамка – это означает, что теперь щелкая мышью по элементам сетки, они будут становиться активными. Во время работы следите, чтобы рамка вокруг сетки не исчезала. И если она исчезла, значит вы вышли из режима редактирования, и нужно вновь выбрать пункт Edit из контекстного меню сетки.

hello_html_6b229800.png


Щелкните по заголовку первого столбца и в окне свойств установите для данного элемента свойство Alignment – 2-Middle Center. Обратите внимание, что в сетке заголовок теперь расположен по центру.

Аналогично выберите заголовок второго столбца и тоже установите для него расположение по центру. И так далее для всех остальных столбцов.

Теперь изменим свойства для самих столбцов – размер шрифта. Щелкните по первому столбцу (ниже заголовка). В окне свойств установите для данного элемента свойство FontSize – 11. Затем выберите 2 столбец и для него тоже измените данное свойство. И так далее для всех остальных столбцов.

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

Запустите форму для проверки ее работы. Обратите внимание, что заголовки таблицы должны быть отцентрированы, а шрифт в таблице увеличен. (Если что-то не так, обратитесь за помощью к преподавателю)


  • Вставьте в форму под таблицу элемент CheckBox - флажок, установите для него свойства:

Caption – «Показать удаленные записи»

AutoSize - .t.

FontSize – 12

BackStyle - Transparent


Запустите форму для проверки ее работы.

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


  • Вставьте в форму под флажком элемент Надпись, установите для него свойства:

Caption – «Сортировать по:»

AutoSize - .t.

BackStyle - Transparent

FontName – Arial Black

FontSize – 12

FontColor – синий


Запустите форму для проверки ее работы.



  • Вставьте в форму элемент ComboBox - элемент управления "поле ввода со списком" (рядом с надписью «Сортировать по:»). Для настройки данного элемента используйте команду Builder из контекстного меню:

На вкладке List Items выберите ручной ввод пунктов списка – Data entered by hand:


hello_html_m3718ec1d.png



Затем введите пункты списка:

hello_html_6a6fcc84.pngи нажмите кнопку Ok.


Запустите форму для проверки ее работы.

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


  • Вставьте в форму элемент TextBox - элемент управления «поле ввода» (под надписью «Сортировать по:»).

Запустите форму для проверки ее работы.


  • Вставьте в форму элемент Command Button - элемент управления «кнопка» (рядом с элементом TextBox). Установите свойство Caption – «Поиск».


Запустите форму для проверки ее работы.


  • Аналогично добавьте в форму кнопки с названиями: На первую, На последнюю, Ввод, Редактирование, Удаление, Издательства, Расчет суммы. Для всех кнопок установите свойство AutoSize - .t.


Запустите форму для проверки ее работы.


  • Добавьте в форму кнопку Выход, для которой установите свойства:

Cancel – .t.

Caption – «Выход»

FontSize – 12

ForeColor – выбрать красный цвет

FontBold – .t.


Запустите форму для проверки ее работы.


  • Настройте порядок обхода элементов в форме как это показано на рисунке:


hello_html_m20b7d874.png

Запустите форму для проверки ее работы. При запуске формы должна быть сразу активна таблица.


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


hello_html_m453f73a1.png



  1. Покажите результат преподавателю.



Практическая работа 17

«Добавление и настройка элементов управления формы»


ВНИМАНИЕ! Проверьте, установлен ли по умолчанию путь к вашей папке!


Откройте свой проект, созданный ранее.


  1. Добавление файла изображения в проект.


Скопируйте в свою папку с сетевого диска файл p1.jpg. Добавьте в свой проект данный файл в раздел Other. Этот файл в дальнейшем будет являться логотипом нашего приложения.


  1. Добавление элементов управления в форму и настройка основных свойств.


Задание: добавить в форму элементы управления – Image, Label, TextBox, ComboBox.


  • В форму необходимо вставить картинку логотип. Добавьте в форму (в левый верхний угол) элемент управления Изображение. Задайте для него следующие свойства:

Picture файл p1.

Stretch – 1-Izometric


Если это необходимо, то откорректируйте размеры изображения (см.рис).


hello_html_m7bada9b.png


Запустите форму для проверки ее работы.


  • Добавим в таблицу вычисляемое поле Сумма, в котором будет отражаться произведение цены на количество по каждой книге. Для этого необходимо выполнить следующие действия:

  1. Сделайте активным элемент Grid (щелкните по нему мышью). Растяните его по ширине формы.

  2. Установите для него свойство ColumnCount – 5. В таблице появится новый столбец.

  3. Перейдите в режим редактирования элемента Grid (пункт Edit в контекстном меню).

  4. Щелкните мышью по заголовку нового столбца и введите для него свойства Caption – Сумма, Alignment – 2-Middle Center.

  5. Щелкните мышью по новому столбцу в области вывода данных и установите для него свойства ControlSource - knig.cena*knig.kol, FontSize – 11.

  6. По необходимости увеличьте ширину нового столбца.

  7. Выйдите из режима редактирования сетки, щелкнув мышью по свободному месту формы.

Запустите форму для проверки ее работы. Обратите внимание, правильно ли отражаются данные в новом поле.


  • Вставьте в форму под таблицей элемент Надпись, установите для него свойства:

Caption – «Общая сумма»

AutoSize - .t.

BackStyle - Transparent

FontName – Arial Black

FontSize – 12

FontColor – синий


Запустите форму для проверки ее работы.


  • Вставьте в форму элемент TextBox - элемент управления «поле ввода» (под столбцом Сумма). В этом поле будет отражаться итоговая сумма по всем книгам. Нам необходимо закрыть возможность редактирования данного поля, так как оно будет рассчитываться программно.

Воспользуемся построителем для определения основных свойств поля ввода (пункт Builderконтекстного меню).

На первой вкладке установим формат для поля (см.рис):

hello_html_m199d5407.png


Остальные вкладки оставим без изменения. Для сохранения нажмите кнопку ОК.

Установите дополнительные свойства:

FontSize – 12

FontBold - .t.

ForeColor –синий цвет


Запустите форму для проверки ее работы.


  • Изменим заголовок формы. Для этого выберите его и в свойстве Caption введите - Перечень книг по указанному типу.


Запустите форму для проверки ее работы.


  • Добавим в форму элемент ComboBox для выбора необходимого типа книг. Вставьте данный элемент под заголовком и откройте построитель:

  1. На первой вкладке List Items выберите источник данных – поле Name из таблицы Tip:

  2. На второй вкладке Style установите пункт Drop-down list (Только выбор из списка), чтобы закрыть возможность ручного ввода данных.

  3. На третьей вкладке Layout установите флажок hello_html_m1d9ff728.png(Увеличить ширину раскрывающегося списка для отображения всех колонок).

  4. Остальные вкладки оставим без изменения. Для сохранения нажмите кнопку ОК.

  5. Установите дополнительные свойства:

FontSize – 12

FontBold - .t.

ForeColor –синий цвет


Запустите форму для проверки ее работы.


  • Добавим в форму элемент Контур, чтобы объединить кнопки. Вставьте элемент Shape, растянув его на два нижних ряда кнопок. В результате кнопки окажутся скрытыми за контуром.

  1. Чтобы разместить контур на заднем плане, сначала активируйте панель Layout (пункт меню View - Toolbars).

  2. Затем выберите на форме элемент Контур и щелкните по кнопке hello_html_m8144066.png (на задний план) панели Layout. Контур переместится за кнопки.

  3. Установите для контура следующие свойства:

FillStyle1-Transparent

SpecialEffect0-3D


Запустите форму для проверки ее работы.


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


hello_html_5d16efc8.png


  1. Покажите результат преподавателю.



Практическая работа 18

«Создание программных кодов для обработки событий. Вызов методов»


ВНИМАНИЕ! Проверьте, установлен ли по умолчанию путь к вашей папке!


Откройте свой проект, созданный ранее.


  1. Подключение дополнительной таблицы к форме.

Задание: подключить к форме таблицу tip.


Так как в форме необходимо будет обращаться к таблице tip, то необходимо добавить эту таблицу в окружение формы. Выполните это задание самостоятельно.


  1. Создание кода события для формы.

Задание: необходимо создать код для обработки событий для формы.


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

Чтобы открыть окно для создания кода, щелкните два раза по свободному месту формы. Убедитесь, что в открывшемся окне выбран объект Form1 и событие Init.


hello_html_m5b848e95.png


  • В событии инициализации формы необходимо задать нужные установки, присвоить элементам формы первоначальные значение и активировать таблицу. Введите в код события Init следующие команды:


SET DELETED ON

thisform.combo1.Value=0

thisform.combo2.Value=0

thisform.text1.Value=SPACE(30)

thisform.text2.Value=0

SELECT knig

GO top


  • В событии выгрузки формы из памяти необходимо вернуть первоначальные установки и закрыть таблицы. Введите в код события Destroy следующие команды:


SET DELETED OFF

CLOSE DATABASES


Запустите форму для проверки ее работы. Если при запуске формы ошибок не возникает, значит все команды написаны верно.


  1. Создание кода события для разворачивающегося списка.

Задание: необходимо создать код для обработки события для элемента Combo2.


С помощью элемента Combo2 будет осуществляться фильтрация (выборка) данных из таблицы knig. При выборе соответствующего типа книг из таблицы tip, в таблице knig нужно будет устанавливать фильтр – выбирать записи, у которых поле kodt совпадает с полем kodt в таблице tip. После установки фильтра нужно обновить форму и сделать активной таблицу – т.е. установить на нее фокус.

Откройте окно для обработки событий для элемента Combo2. Выберите для данного элемента событие Valid. Введите следующие команды:


SELECT knig

SET FILTER TO kodt=tip.kodt

GO top

thisform.refresh()

thisform.grid1.SetFocus


Запустите форму для проверки ее работы. Проверьте как работает функция фильтрации записей. Обратите внимание, правильно ли отражаются данные в таблице.


  1. Создание дополнительной кнопки.

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


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

Добавьте в форму новую кнопку, расположив ее рядом с элементом Combo2. Введите название кнопки – Все записи. Установите основные свойства для кнопки.


hello_html_m21b6eb6f.png


Далее откройте окно для обработки событий новой кнопки. Выберите событие Click и введите следующие команды:


SELECT knig

SET FILTER TO

GO top

thisform.combo2.Value=0

thisform.refresh()

thisform.grid1.SetFocus


Запустите форму для проверки ее работы. Проверьте как работает функция снятия фильтра с записей.


  1. Создание кода события для разворачивающегося списка.

Задание: необходимо создать код для обработки события для элемента Combo1.


С помощью элемента Combo1 осуществляется выбор необходимой сортировки для таблицы. Для этого необходимо подключать соответствующий индекс таблицы. После подключения соответствующего индекса нужно очистить текстовое поле Text1, обновить форму и сделать активной таблицу – т.е. установить на нее фокус.

Откройте окно для обработки событий для элемента Combo1. Выберите для данного элемента событие Click. Введите следующие команды:


DO case

case thisform.combo1.Value=1

SET ORDER TO k2

case thisform.combo1.Value=2

SET ORDER TO k3

case thisform.combo1.Value=3

SET ORDER TO k4

case thisform.combo1.Value=4

SET ORDER TO k5

ENDcase

GO top

thisform.text1.Value=SPACE(30)

thisform.Refresh()

thisform.grid1.SetFocus()


Запустите форму для проверки ее работы. Проверьте как работает элемент Combo1. Убедитесь в том, что при выборе соответствующего пункта меняется сортировка данных в таблице.


  1. Создание кода события для кнопки Поиск.

Задание: необходимо создать код для обработки события для элемента Commmand1.


С помощью элемента Commmand1 осуществляется поиск нужной записи по значению, введенному в текстовое поле Text1. Мы будем осуществлять поиск в индексированной таблице с помощью команды seek.

Поэтому необходимо дополнительно установить проверку – если на момент нажатия кнопки Поиск сортировка в таблице еще не установлена (в этом случае значение элемента Combo1 равно 0), то выдаем предупреждающее сообщение.

Если же сортировка установлена, то для каждого индекса нужно осуществлять поиск по-разному, так как индексы построены по полям разного типа, а у нас элемент Text1 является символьным. После выполнения команды поиска нужно сделать активной таблицу – т.е. установить на нее фокус.

Откройте окно для обработки событий для элемента Commmand1. Выберите для данного элемента событие Click. Введите следующие команды:


SET NEAR ON

DO case

CASE thisform.combo1.Value=0

MESSAGEBOX('Сначала установите сортировку данных!', 0+48+0)

CASE thisform.combo1.Value=1

SEEK ALLTRIM(thisform.text1.Value)

CASE thisform.combo1.Value=2

SEEK VAL(thisform.text1.Value)

CASE thisform.combo1.Value=3

SEEK VAL(thisform.text1.Value)

CASE thisform.combo1.Value=4

SEEK VAL(thisform.text1.Value)

ENDCASE

thisform.grid1.SetFocus


Команда SET NEAR ON используется здесь для того, чтобы устанавливать указатель записи на наиболее подходящую по результатам поиска запись, если поиск оказался неудачным.


Запустите форму для проверки ее работы. Проверьте как работает поиск данных для разных значений элемента Combo1.


  1. Создание кода события для кнопки Удаление.

Задание: необходимо создать код для обработки события для элемента Commmand6.


С помощью элемента Commmand6 осуществляется удаление текущей записи, на которой установлен курсор. Перед удалением необходимо выдавать на экран предупреждающее сообщение. После удаления текущей записи нужно обновить форму и сделать активной таблицу – т.е. установить на нее фокус.

Откройте окно для обработки событий для элемента Commmand6. Выберите для данного элемента событие Click. Введите следующие команды:


IF MESSAGEBOX('Вы удаляете запись '+ autor+nazvanie+;

CHR(13)+ 'Удалить?', 4+32+256, 'Внимение!')=6

DELETE

endif

thisform.Refresh()

thisform.grid1.SetFocus()


Запустите форму для проверки ее работы. Проверьте как работает кнопка Удаление. Попробуйте в окне сообщения выбрать кнопку Нет и кнопку Да. Удалите несколько записей.


  1. Создание кода события для элемента Флажок.

Задание: необходимо создать код для обработки события для элемента CheckBox.


С помощью элемента CheckBox осуществляется отображение (или скрытие) в таблице удаленных записей. Поскольку в событии Init формы мы прописали команду SET DELETED ON, то удаленные записи в таблице не отображаются. Для того чтобы они появились, необходимо поменять данную установку на значение OFF. Когда Флажок установлен, его значение равно 1, когда Флажок снят, то его значение равно 0. На этом будет основана проверка для того чтобы выполнить соответствующую установку. После установки значения SET DELETED нужно обновить форму и сделать активной таблицу – т.е. установить на нее фокус.

Откройте окно для обработки событий для элемента CheckBox. Выберите для данного элемента событие Click. Введите следующие команды:


IF Thisform.CHECK1.Value=1 && флажок установлен

SET DELETED OFF

ELSE

SET DELETED ON

ENDIF

GO top

thisform.Refresh()

thisform.grid1.SetFocus()


Запустите форму для проверки ее работы. Проверьте как работает элемент управления Флажок.


  1. Создание кода события для кнопки Выход.

Задание: необходимо создать код для обработки события для элемента Commmand9.


С помощью элемента Commmand9 осуществляется закрытие активной формы. Поэтому нужно написать соответствующую команду для выгрузки формы из памяти.

Кроме того, перед закрытием формы создадим эффект движения формы по экрану, воспользовавшись методом Move.


Откройте окно для обработки событий для элемента Commmand9. Выберите для данного элемента событие Click. Введите следующие команды:


FOR i=1 TO 1200

thisform.Move(i)

endfor

thisform.RELEASE()


Запустите форму для проверки ее работы. Проверьте как работает кнопка Выход.


  1. Создание кода события для кнопки На первую.

Задание: необходимо создать код для обработки события для элемента Commmand2.


С помощью элемента Commmand2 осуществляется установка указателя записи в таблице knig на первую запись. После этого нужно сделать активной таблицу – т.е. установить на нее фокус.

Откройте окно для обработки событий для элемента Commmand2. Выберите для данного элемента событие Click. Введите следующие команды:


SELECT knig

GO top

thisform.grid1.SetFocus


Запустите форму для проверки ее работы. Проверьте как работает кнопка На первую.


  1. Создание кода события для кнопки На последнюю.

Задание: необходимо создать код для обработки события для элемента Commmand3.


С помощью элемента Commmand3 осуществляется установка указателя записи в таблице knig на последнюю запись. После этого нужно сделать активной таблицу – т.е. установить на нее фокус.

Откройте окно для обработки событий для элемента Commmand3. Выберите для данного элемента событие Click. Введите следующие команды:


SELECT knig

GO bottom

thisform.grid1.SetFocus


Запустите форму для проверки ее работы. Проверьте как работает кнопка На последнюю.

Закройте форму f3.


  1. Создание дополнительной кнопки в форме f1.

Задание: необходимо в режиме конструктора добавить кнопку Удаление в форму f1.


Откройте в режиме конструктора форму f1. Добавьте в нее кнопку с названием Удаление записи, установите для кнопки необходимые свойства.


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


Сохраните внесенные изменения и запустите форму f1 для проверки. Проверьте работу кнопки Удаление и удалите все некорректно введенные записи.



  1. Покажите результат преподавателю.



Практическая работа 19

«Создание программных кодов для обработки событий. Вызов методов»


ВНИМАНИЕ! Проверьте, установлен ли по умолчанию путь к вашей папке!


Откройте свой проект, созданный ранее.


  1. Создание формы для ввода новой записи.

Задание: необходимо создать новую форму vvod, в которой осуществляется ввод новой записи в таблицу knig.


  • Откройте новую форму в режиме конструктора. Для данной формы установите основные свойства – AutoCenter, Caption – Ввод новой записи, MaxButton, MinButton, WindowType – 1.

Откройте окно для обработки событий для элемента Form. Выберите для данного элемента событие Init. Введите следующие команды:


SCATTER MEMVAR blank


Запустите форму для проверки ее работы, сохранив ее под именем vvod.


  • Далее добавьте в окружение формы таблицу knig. Перетащите по порядку следующие поля таблицы knig на форму – autor, nazvanie, cena, kol. В форме автоматически добавятся поля ввода и подписи к ним.

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

Так как нам необходимо, чтобы в полях ввода отражались данные из созданного набора переменных памяти, то для каждого поля ввода необходимо изменить источник данных (свойство ControlSource) следующим образом:

  • Для элемента txtAutorm.autor

  • Для элемента txtNazvaniem. Nazvanie

  • Для элемента txtCenam. Cena

  • Для элемента txtKol – m. Kol


Сохраните внесенные изменения и запустите форму для проверки ее работы. Убедитесь в том, что поля ввода пустые.


  • Так как каждая книга относится к определенному типу, то необходимо добавить возможность выбора нужного типа из таблицы tip. А затем при записи данных в таблицу, необходимо сохранять код выбранного типа.

Добавьте в верхнюю часть формы надпись - Тип книги. Установите для нее свойства по оформлению.


  • Добавьте в форму (рядом с надписью Тип книги – см. образец ниже) элемент разворачивающийся список, для которого откройте построитель и выберите в качестве источника поле name из таблицы tip.


hello_html_537f4ff5.png


Установите самостоятельно для этого элемента свойства по оформлению


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


  • Добавьте в нижней части формы кнопку Запись. С помощью этой кнопки будет осуществляться ввод новой записи в таблицу knig. Установите самостоятельно свойства по оформлению кнопки.

Откройте окно для обработки событий для новой кнопки. Выберите для данного элемента событие Click. Введите следующие команды:


m.kodt=tip.kodt

m.autor=thisform.txtAutor.Value

m.nazvanie=thisform.txtNazvanie.Value

m.cena=thisform.txtCena.Value

m.kol=thisform.txtKol.Value

SELECT knig

APPEND BLANK

GATHER memvar

thisform.RELEASE()


Сохраните внесенные изменения и запустите форму для проверки ее работы. Введите произвольную запись и проверьте, появилась ли она в тапблице knig.


  • Добавьте в форму кнопку Выход. В событии Click данной кнопки введите следующие команды:


thisform.RELEASE()


  • Установите порядок обхода элементов в форме, как это показано на рисунке:


hello_html_8462895.png



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


  1. Создание кода события для кнопки Ввод.

Задание: в форме f3 необходимо создать код для обработки события для элемента Commmand4.


Откройте в режиме конструктора ранее созданную форму f3. С помощью элемента Commmand4 должна запускаться созданная форма vvod для добавления новой записи. После ввода новой записи нужно обновить форму и сделать активной таблицу – т.е. установить на нее фокус.

Откройте окно для обработки событий для элемента Commmand4. Выберите для данного элемента событие Click. Введите следующие команды:


do FORM vvod

thisform.Refresh()

thisform.grid1.SetFocus


Запустите форму для проверки ее работы. Проверьте как работает кнопка Ввод.

Введите запись с данными: Тип книги – Учебники, Автор – Семакин В.С., Название – Основы программирования, Цена – 235, Количество – 30.

Закройте форму f3.


  1. Модификация формы vvod.

Задание: необходимо внести изменения в форму для возможности использования ее для редактирования записи.


Разработанную форму vvod можно использовать не только для ввода новой записи, но и для редактирования, если внести небольшие дополнения.


  • Для начала создадим программу с параметром, которая будет запускаться при нажатии кнопки Ввод и кнопки Редактирование. Договоримся, что параметр кнопки Ввод будет равен 1, а кнопки Редактирование равен 2.

Перейдите в проекте на вкладку Code и создайте новую программу:


PARAMETERS pp

PUBLIC p, zag

p=pp

IF p=1

zag='Ввод новой записи'

ELSE

zag='Редактирование записи'

endif

DO FORM vvod

RETURN

В программе определяем две глобальные переменные. Переменная p определяет выбранный режим (ввод или редактирование), переменная zag определяет заголовок формы vvod. Из этой программы и будет далее загружаться форма vvod.


Сохраните созданную программу с именем vvod_red. Закройте созданную программу.


  • Теперь откройте в режиме конструктора форму vvod. В нее необходимо внести изменения, так как она теперь будет использоваться не только для ввода новой записи, но и для редактирования.


  1. Из окружения формы необходимо убрать все таблицы. Откройте окно Datа Environment и очистите его. На момент загрузки формы нужные таблицы будут уже открыты (в форме f3).


  1. Так как теперь заголовок у формы должен быть разный в зависимости от режима и для этого мы создали глобальную переменную zag, то в свойстве Caption формы вместо текста введите: =zag


  1. В коде события Init формы внесите следующие изменения:


SELECT knig

IF p=1 && ввод новой записи

SCATTER MEMVAR blank

ELSE && редактирование текущей записи

SCATTER MEMVAR

SELECT tip

LOCATE FOR kodt=m.kodt

thisform.combo1.Value=tip.name

ENDIF

Здесь добавили проверку – если режим ввода (p=1), то создаем пустой набор переменных памяти, а в случае режима редактирования – набор переменных памяти из таблиц.


  1. Осталось внести изменения в кнопке Запись. В коде события Click данной кнопки программа должна выглядеть следующим образом:


m.kodt=tip.kodt

m.autor=thisform.txtAutor.Value

m.nazvanie=thisform.txtNazvanie.Value

m.cena=thisform.txtCena.Value

m.kol=thisform.txtKol.Value


SELECT knig

IF p=1

APPEND BLANK

endif

GATHER memvar


thisform.RELEASE()

Здесь добавили проверку – если режим ввода (p=1), то добавляем новую запись в таблицу.


Сохраните внесенные изменения и закройте форму vvod.

Внимание! Форма vvod теперь самостоятельно запускаться не будет (возникнет ошибка, так как из окружения удалены все таблицы), а только через форму f3.


  • Теперь откройте в режиме конструктора форму f3. В коде события Click кнопки Ввод программа должна выглядеть следующим образом:


do vvod_red WITH 1

thisform.Refresh()

thisform.grid1.SetFocus

Здесь запускаем программу vvod_red с параметром 1.


В коде события Click кнопки Редактирование программа должна выглядеть следующим образом:


do vvod_red WITH 2

thisform.Refresh()

thisform.grid1.SetFocus

Здесь запускаем программу vvod_red с параметром 2.


Сохраните внесенные изменения и запустите форму f3 для проверки.

Сначала проверьте работу кнопки Ввод – введите произвольную запись и проверьте, записалась ли она в таблицу.

Потом проверьте работу кнопки Редактирование – найдите в таблице и отредактируйте некорректно введенные записи.


  1. Создание кода события для кнопки Издательства.

Задание: необходимо создать код для обработки события для элемента Commmand7.


С помощью элемента Commmand7 осуществляется запуск ранее созданной формы izd1 для просмотра данных по издательствам. В коде события Click данной кнопки самостоятельно напишите необходимые команды.

Так как форма izd1 была создана с помощью мастера, то для нее не установлена модальность. Поэтому откройте эту форму в режиме конструктора и установите свойство WindowType – 1. Сохраните форму izd1.


Сохраните внесенные изменения и запустите форму f3 для проверки. Проверьте работу кнопки Издательства.


  1. Создание кода события для кнопки Расчет суммы.

Задание: необходимо создать код для элемента Commmand8.


С помощью элемента Commmand8 осуществляется расчет итоговой суммы по всем (или по выбранным в фильтр) книгам таблицы. В коде события Click данной кнопки необходимо выполнить следующие команды:


SELECT knig

nz=RECNO() && запоминаем номер текущей записи

GO top

s=0

DO WHILE !EOF()

s=s+cena*kol

skip

ENDDO

GO nz && возвращаемся на ту запись, на которой были

thisform.text2.Value=s

thisform.Refresh()

thisform.grid1.SetFocus()


Сохраните внесенные изменения и запустите форму f3 для проверки. Проверьте работу кнопки Расчет суммы.


Теперь при установке (или изменении) фильтра значение в поле Text2 должно обнуляться. Поэтому в код события для элемента Combo2 и для кнопки Все записи добавьте команду: thisform.text2.Value=0.


Код обработки события элемента Combo2 будет выглядеть так:


SELECT knig

SET FILTER TO kodt=tip.kodt

GO top

thisform.text2.Value=0 && добавленная команда

thisform.refresh()

thisform.grid1.SetFocus


Код обработки события элемента Command10 будет выглядеть так:


SELECT knig

SET FILTER TO

GO top

thisform.combo2.Value=0

thisform.text2.Value=0 && добавленная команда

thisform.refresh()

thisform.grid1.SetFocus


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

Образец формы:

hello_html_478909a.png


  1. Создание дополнительной кнопки в форме f1.

Задание: необходимо в режиме конструктора добавить кнопку Редактирование записи в форму f1.


Откройте в режиме конструктора форму f1. Добавьте в нее кнопку с названием Редактирование записи, установите для кнопки необходимые свойства.

Аналогично заданию 3 внесите изменения так, чтобы форму f2 (которая используется для ввода новой записи в таблицу tip) можно было использовать не только для ввода новой записи, но и для редактирования. Создайте дополнительную программу vv_tip (аналогично программе vvod_red), которая будет запускаться из кнопки Ввод новой записи с параметром 1, из кнопки Редактирование записи с параметром 2. Внесите необходимые изменения в форму f2 для возможности использования ее в двух режимах.

Измените коды для обработки события кнопок Ввод и Редактирование.


Сохраните внесенные изменения и запустите форму f1 для проверки. Проверьте работу кнопки Ввод новой записи и кнопки Редактирование записи.


  1. Покажите результат преподавателю.



Практическая работа 20

«Создание экранных форм для ввода и редактирования данных»


ВНИМАНИЕ! Проверьте, установлен ли по умолчанию путь к вашей папке!


Откройте свой проект, созданный ранее. Проверьте наличие в проекте свободной таблицы, созданной на первой практической работе. Если таблица не создана, то создайте ее (см. приложение «Варианты заданий к практической работе 1»)


  1. Создание индексов свободной таблицы.

Задание: необходимо создать индексы к таблице вашего варианта для возможности установки разнообразных сортировок.


Откройте свободную таблицу в режиме конструктора. Создайте необходимые индексы, чтобы в дальнейшем использовать их для сортировки данных в таблице. Закройте таблицу.


  1. Создание формы.

Задание: необходимо создать форму для возможности работы с данными из таблицы.


Создайте в режиме конструктора форму с именем proba_XX, где XX – номер вашего варианта.

К форме необходимо подключить свою свободную таблицу, установить все необходимые свойства для формы и вставить в нее необходимые элементы управления согласно шаблону:


hello_html_5026369d.png


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


Комментарии к элементам управления:


  1. В заголовке формы должно быть отражено название таблицы.


  1. В таблице должны отражаться все поля таблицы, кроме кодовых. Удаленные записи таблицы не должны в ней отражаться.


  1. В элементе Combo1 должны быть отражены все возможные сортировки по индексам.


  1. Поиск осуществлять по индексу.


  1. В элементе Combo2 предусмотреть фильтрацию по наиболее актуальному полю (полям) таблицы.


  1. Для кнопок Ввод и Редактирование должна быть создана одна универсальная форма. Запуск формы – через программу с параметром.


  1. В кнопке Удаление предусмотреть перед удалением вывод предупреждающего сообщения.


  1. Созданную форму сохраните в проекте. Внимательно проверьте работу всех ее режимов.


  1. По завершении работы покажите результат преподавателю.



Практическая работа 21

«Создание отчетов с помощью мастера и средства Быстрый отчет»


ВНИМАНИЕ! Проверьте, установлен ли по умолчанию путь к вашей папке!


Откройте свой проект, созданный ранее.


  1. Создание отчета на основе одной таблицы.

Задание: необходимо создать отчет с помощью мастера, включив в него данные таблицы izd.

Перейдите в проекте на вкладку Documents и установите курсор на раздел Reports. Запустите создание нового отчета с помощью мастера, выбрав создание отчета на основе одной таблицы:


hello_html_m4c353237.png


Выполните рекомендации шагов мастера:

1 шаг – выберите все поля из таблицы izd, кроме поля kodi;

2 шаг – установите группировку записей по полю adres;

3 шаг – оставьте без изменений;

4 шаг - оставьте без изменений;

5 шаг – установите сортировку по полю n_izd;

6 шаг – введите заголовок отчета - Данные об издательствах, просмотрите отчет с помощью кнопки Preview, прежде чем его сохранять.

Убедившись, что данные в отчете отражаются нормально, нажмите на кнопку Finish и сохраните отчет с именем izd_o. Созданный отчет сохранится в проекте. Запустите его еще раз для просмотра.


  1. Модификация созданного отчета.

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

Установите курсор в проекте на созданный отчет и нажмите кнопку Modify. Отчет будет открыт в режиме конструктора.

Внесите следующие изменения в отчет:

  • Заголовок отчета установите по центру;

  • Измените шрифтовое оформление заголовка. Для этого выберите пункт меню FormatFont и в окне Шрифт установите начертание жирный курсив, цвет - синий;

  • Если подписи к данным написаны на английском языке, то замените их на русские названия – Адрес, Название издательства, ФИО руководителя. Для редактирования надписи, необходимо щелкнуть по ней двойным щелчком мыши и в открывшемся окне Label Properties отредактировать надпись (поле Caption);

  • Для надписей измените размер шрифта – установите значение 12;

  • Раздвиньте надписи так, чтобы была занята вся площадь страницы;

  • Под надписями полей, в разделе Detail выровняйте сами поля так, чтобы они располагались под надписями;

  • Для полей n_izd и fio_r также измените шрифтовое оформление – установите размер 12.

  • В элементе hello_html_1985b83.png замените слово Page на слово Страница. Для этого выполните двойной щелчок мыши по элементу и в открывшемся окне отредактируйте раздел Expression.

  • Запустите отчет для предварительного просмотра.

  • Образец в режиме конструктора:


hello_html_126dd31c.png


  • Образец в режиме просмотра:

hello_html_m138e8281.png


Закройте отчет и сохраните все внесенные изменения.


  1. Создание отчета на основе двух таблиц.

Задание: необходимо создать отчет с помощью мастера, включив в него данные таблиц tip и knig.

Запустите создание нового отчета с помощью мастера, выбрав создание отчета на основе двух таблиц:


hello_html_m5417db85.png


Выполните рекомендации шагов мастера:

1 шаг – выберите поле name из таблицы tip;

2 шаг – выберите поля из таблицы knigautor, nazvanie, kol;

3 шаг – проверьте, правильно ли установлена связь между таблицами – поле связи kodt;

4 шаг – установите сортировку по полю name;

5 шаг – выберите стиль оформления Presentation;

6 шаг – введите заголовок отчета - Данные по книгам, просмотрите отчет с помощью кнопки Preview, прежде чем его сохранять.

Убедившись, что данные в отчете отражаются нормально, нажмите на кнопку Finish и сохраните отчет с именем tip_o. Созданный отчет сохранится в проекте. Запустите его еще раз для просмотра.


  1. Модификация созданного отчета.

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

Установите курсор в проекте на созданный отчет и нажмите кнопку Modify. Внесите следующие изменения в отчет (образец - см. рисунок ниже):

  • Заголовок отчета установите по центру;

  • Измените шрифтовое оформление заголовка. Установите шрифт – Times New Roman, начертание - жирный, размер – 16, цвет - малиновый;

  • Для всех полей, выводимых в отчет установите шрифт - Times New Roman, начертание - обычный, размер – 14;

  • Поле Date() увеличьте по ширине;

  • Удалите из отчета надпись Name (подпись к полю name, но не само поле!);

  • Поле name разместите по центру;

  • Измените цвет шрифта элемента name – установите малиновый;

  • Раздвиньте по высоте раздел верхнего колонтитула – раздел Page Header;

  • Надписи Автор, Название, Количество переместите в раздел верхнего колонтитула;

  • Измените шрифтовое оформление надписей: шрифт - Times New Roman, начертание - жирный, размер – 14;

  • Под надписями полей, в разделе Detail выровняйте сами поля так, чтобы они располагались под надписями;

  • В элементе hello_html_1985b83.png замените слово Page на слово Страница.

  • Запустите отчет для предварительного просмотра. Если в поле kol вместо цифр выводятся звездочки, значит не хватает ширины поля для вывода данных, поэтому нужно откорректировать это поле по ширине.


  • Образец в режиме конструктора:

hello_html_78a82ff6.png


  • Образец в режиме просмотра:


hello_html_m60ad21bf.png


Закройте отчет и сохраните все внесенные изменения.


  1. Создание отчета с помощью средства Быстрый отчет.

Задание: необходимо создать отчет с помощью средства Быстрый отчет, включив в него данные таблицы knig, затем внести изменения в режиме конструктора.

  • Запустите создание нового отчета. В окне New Report нажмите кнопку New Report. Откроется режим конструктора отчетов.

В главном меню выберите пункт ReportQuick Report. В окне Quick Report выберите расположение полей в строку и нажмите кнопку ОК.

Просмотрите отчет и сохраните его с именем knig1.


  • Внесите изменения в созданный отчет в режиме конструктора:

Увеличьте по высоте раздел Page Header и сместите подписи полей ниже, чтобы освободить место для заголовка.

Добавьте в данный раздел (по центру) надпись Данные таблицы knig, используя панель инструментов Report Controls:

hello_html_66e029fc.png

Для надписи установите начертание шрифта – жирный, размер – 14. Подписи полей также выделите жирным.

Увеличьте по высоте раздел Detail, чтобы увеличить расстояние между строками в отчете.

Увеличьте по ширине поле Date(), перетащите его в верхний колонтитул и установите рядом с заголовком.

Уберите слово Page.

Образец в режиме конструктора:

hello_html_745fa769.png


Образец в режиме просмотра:

hello_html_78a473d5.png


Просмотрите отчет и сохраните все внесенные изменения.


  • Запустите создание нового отчета в режиме конструктора отчетов.

В главном меню выберите пункт ReportQuick Report. В окне Quick Report выберите расположение полей - в столбец.

Нажмите кнопку Fields и выберите поля, которые должны быть включены в отчет – все кроме кодовых. Нажмите кнопку ОК.

Просмотрите отчет и сохраните его с именем knig2.


  • Внесите изменения в созданный отчет в режиме конструктора, согласно прилагаемого образца:


Образец в режиме конструктора:


hello_html_bc6070c.png


Образец в режиме просмотра:

hello_html_798e1c9.png


Просмотрите отчет и сохраните все внесенные изменения.


Обратите внимание, что в данном отчете содержится несколько страниц. Проверьте работу панели управления Print Preview, с помощью которой пролистайте страницы, перейдите на страницу с заданным номером, измените масштаб просмотра.

hello_html_6f6d8baa.png



  1. Создание отчета на основе одной таблицы.

Задание: необходимо самостоятельно создать отчет с помощью мастера, включив в него данные таблицы knig, затем внести изменения в режиме конструктора.


  • Запустите создание отчета с помощью мастера на основе одной таблицы. В отчет включите все поля таблицы knig, кроме кодовых полей.

Установите в отчете группировку данных по полю autor. Установите в отчете сортировку по полю nazvanie. Задайте имя отчета – Перечень книг.

Сохраните отчет с именем knig_o.

  • Откройте созданный отчет в режиме конструктора и внесите в него изменения – по расположению элементов, по шрифтовому оформлению.

  • Просмотрите внесенные изменения.


  1. Покажите результат преподавателю.



Практическая работа 22

«Модификация и создание отчетов с помощью конструктора»


ВНИМАНИЕ! Проверьте, установлен ли по умолчанию путь к вашей папке!


Откройте свой проект, созданный ранее.



  1. Модификация отчета izd_o.

Задание: необходимо открыть ранее созданный отчет в режиме конструктора и внести некоторые изменения.

Перейдите в проекте на вкладку Documents и найдите отчет izd_o. Откройте его в режиме конструктора с помощью кнопки Modify.

Добавим в отчет вывод количества записей по каждой группе. Найдите в макете отчета раздел Group Footer и увеличьте его по высоте.

Добавьте в данный раздел (см. образец) надпись с текстом Общее количество издательств. Установите для данной надписи шрифтовое оформление, аналогичное заголовкам столбцов.

Рядом с надписью вставьте элемент управления поле. В появившемся окне Field Properies на вкладке General задайте выражение: 1.

hello_html_m72d9a946.png

Перейдите на вкладку Calculate и задайте суммирование введенного значения до конца группы по полю adres.

hello_html_m696837a8.png

Перейдите на вкладку Format и установите формат для поля: формат – 999, тип – Numeric. Остальные флажки оставьте без изменения.

Перейдите на вкладку Style и установите шрифтовое оформление: Arial, жирный, 12.

  • Образец в режиме конструктора:

hello_html_m2c3a8600.png


  • Образец в режиме просмотра:

hello_html_m59250369.png


Просмотрите отчет. Закройте отчет и сохраните все внесенные изменения.



  1. Модификация отчета tip_o.

Задание: необходимо добавить в отчет поле с итоговым значением.


Откройте в режиме конструктора отчет tip_o. Добавьте в раздел Group Footer (см. образец) надпись ИТОГО печатных изданий:. Установите для данной надписи шрифтовое оформление, аналогичное заголовкам столбцов.

Для добавления в отчет итогов по полю kol воспользуйтесь следующим приемом – скопируйте элемент поле kol и вставьте копию в раздел Group Footer рядом с надписью ИТОГО печатных изданий. Затем двойным щелчком мыши по данному полю откройте окно свойств для скопированного элемента, перейдите на вкладку Calculate и задайте суммирование введенного значения до конца группы по полю kodt:

hello_html_m5feac4bc.png

Запустите отчет в режиме просмотра и проверьте правильность вычислений в созданном поле.

  • Образец в режиме конструктора:

hello_html_m40d447da.png


  • Образец в режиме просмотра:

hello_html_m70de2d01.png



Просмотрите отчет и сохраните все внесенные изменения. Закройте отчет и сохраните все внесенные изменения.



  1. Модификация отчета knig2.

Задание: необходимо добавить в отчет вычисляемое поле и рисунок.


  • Откройте в режиме конструктора отчет knig2. Добавьте в раздел Detail (см. образец) надпись Сумма. Установите для данной надписи шрифтовое оформление аналогично остальным надписям.

Добавьте рядом с надписью элемент поле. В появившемся окне Field Properies на вкладке General введите выражение для вычисляемого поля – knig.cena*knig.kol. Перейдите на вкладку Format и задайте формат для поля: формат – 99999.99, тип - Numeric, перейдите на вкладку Style и задайте стиль оформления, аналогичный остальным полям.

Просмотрите отчет, проверьте правильность вычислений в созданном вычисляемом поле и сохраните все внесенные изменения.


  • Добавьте в отчет элемент управления Picture/OLE Bound Control. В появившемся окне свойств на вкладке General задайте источник данных для рисунка, выбрав файл p1.jpg из своей папки, задайте масштабирование по размеру:

hello_html_213b28c.png

Если это необходимо, внесите изменения в расположение объектов отчета.


Просмотрите отчет и сохраните все внесенные изменения.


  • Образец в режиме конструктора:

hello_html_c84a2b5.png


  • Образец в режиме просмотра:

hello_html_m6170b79f.png


Просмотрите отчет и сохраните все внесенные изменения.



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

Задание: необходимо создать новый отчет в режиме конструктора.


Перейдите на вкладку Documents. Выберите раздел Reports и нажмите кнопку New. В следующем окне выберите способ создания – с помощью конструктора.


  • Подключите к отчету данные. Для этого воспользуйтесь кнопкой Data Environment на панели инструментов Report Designer. Добавьте в окно Data Environment одну таблицу knig.

Для данной таблицы в окне свойств установите сортировку по автору и названию, для этого в свойстве Order подключите индекс k2.

Щелкните двойной клик по таблице. Откроется окно обработки событий для таблицы. Для события Init напишите программный код:

hello_html_7863d6c6.png

Закройте окно обработки событий.


  • Добавьте в отчет раздел Заголовка и Итоговых данных. Для этого откройте окно свойств отчета (пункт меню ReportProperties), перейдите в нем на вкладку Optional Bands и установите соответствующие флажки.

hello_html_4af34ff9.png

  • Вставка заголовка. В раздел Title добавьте текст Инвентаризационная опись на. После текста вставьте поле (элемент Field), для которого укажите выражение date() – текущая дата. Установите для заголовка формат: шрифт Times New Roman, жирный, размер 16.


  • Вставка верхнего колонтитула. В верхний колонтитул отчета вставьте шапку отчета по образцу:

hello_html_1a3307e0.png

Для надписей используйте формат: шрифт Times New Roman, обычный, размер 12.


  • Просмотр результата. Сохраните отчет с именем opis. Выберите в главном меню пункт ReportPrint Preview. Убедитесь, что в отчете все нормально.


  • Заполнение области данных. Для работы у вас должно быть открыто окно Data Environment. Перетащите из таблицы поле kodkn на макет отчета в раздел Detail в колонку Инвентарный номер (см. образец ниже). В отчете появится два элемента – подпись поля и само поле. Подпись поля удалите, оставьте только поле. Аналогично добавьте в отчет поля autor, nazvanie, kol. Подписи удалите, оставьте только поля. Откорректируйте размеры полей согласно образцу. Для всех полей задайте формат: шрифт Times New Roman, обычный, размер 12.

hello_html_3902046e.png

Сохраните отчет. Запустите отчет и просмотрите результат проделанной работы.


  • Вставка нумерации страниц. В раздел нижнего колонтитула в правый нижний угол вставьте поле (элемент Field), для которого укажите выражение - _pageno. Эта переменная является системной, она содержит текущий номер страницы.

hello_html_m7d17f8f9.png

Задайте для данного поля формат: шрифт Times New Roman, жирный, размер 16.


  • Вставка в отчет итогов. В раздел итогов Summary добавьте текст Итого по описи. Затем скопируйте из раздела Detail поле kol и вставьте его в раздел Summary. Щелкните двойной клик по скопированному полю kol и в окне Field Properties на вкладке Calculate выберите функцию Sum (сумма). Задайте для итогов формат: шрифт Times New Roman, жирный, размер 16.

hello_html_4c1038da.png

Сохраните отчет. Запустите отчет и просмотрите результат проделанной работы.

В раздел итогов добавьте еще текст Количество позиций по описи. Затем скопируйте еще раз поле kol и вставьте его в раздел Summary. Щелкните двойной клик по скопированному полю kol и в окне Field Properties на вкладке Calculate выберите функцию Count (количество). Задайте для итогов формат: шрифт Times New Roman, жирный, размер 16.

Сохраните отчет. Запустите отчет и просмотрите результат проделанной работы.


  • Сохранение отчета. Сохраните отчет с именем opis и закройте его. Проверьте наличие данного отчета в проекте. Запустите его еще раз из проекта с помощью кнопки Preview.


  • Образец в режиме конструктора:

hello_html_7c999410.png


  • Образец в режиме просмотра:


hello_html_m72b17378.pnghello_html_4cfd4836.png

  1. Модификация отчета knig_o.

Задание: необходимо самостоятельно внести изменения в отчет, добавив столбец Сумма, с данными по каждой книге – цена*количество.


Откройте в режиме конструктора отчет knig_o. Сдвиньте поля отчета таким образом, чтобы можно было добавить еще один столбец. Если это необходимо, то уменьшите шрифт для элементов отчета.

Добавьте в отчет надпись Сумма в раздел Page Header, а в раздел Detail добавьте вычисляемое поле, в котором значение равно произведению цены на количество.

Установите для добавленных элементов шрифтовое оформление.

  • Образец в режиме просмотра:

hello_html_mb0d3736.png

Просмотрите внесенные изменения.


  1. Покажите результат преподавателю.



Практическая работа 23

«Группировка данных в отчете»


ВНИМАНИЕ! Проверьте, установлен ли по умолчанию путь к вашей папке!


Откройте свой проект, созданный ранее.



  1. Поиск отчетов с группировкой данных.

Задание: среди созданных ранее отчетов найти отчеты с группировкой.


Откройте по порядку все созданные ранее отчеты. Для каждого отчета выясните, есть ли в нем группировка данных, используя окно Data Grouping. Если группировка данных есть, то укажите по какому полю создана группировка и какие параметры группировки заданы.

Оформите свой ответ по шаблону:


Имя отчета

Группировка по полю (полям)

Дополнительные параметры (если заданы)

Верхний колонтитул группы содержит

Нижний колонтитул группы содержит













  1. Создание группировки в отчете knig1.

Задание: необходимо открыть ранее созданный отчет в режиме конструктора и создать необходимые группировки.


  • Найдите в проекте отчет knig1 и откройте его в режиме конструктора. Для того, чтобы данные в отчете группировались по заданному полю, необходимо подключить соответствующий индекс для сортировки данных. Так как у нас будет предусмотрена группировка по полю kodt, то необходимо подключить индекс k1, который создан по данному полю. Откройте окно Data Environment и подключите индекс к таблице knig. Далее окно Data Environment можно закрыть.

  • Откройте любым из имеющихся способов окно Data Grouping для возможности создания группировки.

  • Добавьте в отчет группировку по полю kodt – кнопка Add. Установите флажок для печати каждой новой группы на новой странице - hello_html_m2ef8aa13.png. Запустите отчет в режиме просмотра и проверьте вывод данных по группам.

  • Обратите внимание, что значение поля kodt печатается в каждой группе несколько раз – рядом с каждой записью. Такой вывод при группировке желательно не использовать. Поэтому переместите поле kodt в раздел верхнего колонтитула группы. Просмотрите результат.

  • Добавьте в нижний колонтитул группы итоги по количеству, при этом добавив надпись Итоговое количество. Просмотрите результат, пролистайте все страницы отчета.

  • Образец для проверки:

hello_html_183a52c1.png


  1. Создание отчета с группировкой данных.

Задание: создать в режиме конструктора отчет на основе двух таблиц, включив в него группировку данных.


Перейдите на вкладку Documents. Выберите раздел Reports и нажмите кнопку New. В следующем окне выберите способ создания – с помощью конструктора.


  • Подключите к отчету данные. Для этого воспользуйтесь кнопкой Data Environment на панели инструментов Report Designer. Добавьте в окно Data Environment таблицу tip и таблицу knig. Для таблицы tip в окне свойств подключите индекс name, для таблицы knig подключите индекс kodt.

  • Установите связь между таблицами. Для этого перетащите поле kodt с таблицы tip на индекс kodt таблицы knig. В результате будет установлена связь:


hello_html_7be61e87.png

Выделите линию связи на схеме и для нее в окне свойств установите свойство OnetoMany (один ко многим) значение .T. – True.


  • Щелкните двойной клик по таблице tip. Откроется окно обработки событий для таблицы. Для события Init напишите программный код:

SET DELETED ON

SET DATE TO dmy

SET CENTURY on

Закройте окно обработки событий.


  • Добавьте в отчет раздел Итоговых данных - Summary. Для этого откройте окно свойств отчета (пункт меню ReportProperties), перейдите в нем на вкладку Optional Bands и установите соответствующий флажок.


  • Вставка верхнего колонтитула. В верхний колонтитул отчета вставьте шапку отчета по образцу:

hello_html_2ac2fc99.png


  • Просмотр результата. Сохраните отчет с именем per. Выберите в главном меню пункт ReportPrint Preview. Убедитесь, что в отчете все нормально.


  • Группировка данных в отчете. В главном меню выберите пункт ReportData Grouping. Откроется окно группировки данных. Для добавления группировки нажмите кнопку Add и в окне Expression Builder выберите поле kodt (двойной щелчок мыши). Появится группировка по выбранному полю:

hello_html_m5a4169c.png

Нажмите кнопку ок. Обратите внимание на макет отчета – в него добавились новые разделы: Group Header (верхний колонтитул группы) и Group Footer (нижний колонтитул группы).


  • Заполнение верхнего колонтитула группы. Для работы у вас должно быть открыто окно Data Environment. Перетащите в раздел Group Header из таблицы tip поле name. Подпись удалите, оставьте только само поле. Задайте для данного поля формат: шрифт Times New Roman, жирный, размер 14.


  • Заполнение области данных. Перетащите в раздел Detail из таблицы knig поля autor, nazvanie, cena, kol. Каждое поле должно оказаться под соответствующим заголовком. Подписи удалите, оставьте только поля. Откорректируйте размеры полей. Для всех полей задайте формат: шрифт Times New Roman, обычный, размер 12.

Сохраните отчет. Запустите отчет и просмотрите результат проделанной работы.


  • Вставка в отчет вычисляемого поля. Вставьте в раздел Detail поле (элемент Field) в колонку Сумма, для которого укажите выражение knig.cena* knig.kol. Это будет вычисляемое поле сумма=цена * количество.

Сохраните отчет. Запустите отчет и просмотрите результат проделанной работы.


  • Вставка итогов по группе. Добавьте в раздел Group Footer надпись Итого по группе. Скопируйте поле name из раздела Group Header и добавьте его рядом с надписью (см образец ниже). Скопируйте из раздела Detail вычисляемое поле knig.cena* knig.kol, вставьте его в раздел Group Footer и установите для него функцию суммирования (Sum) по группе.

hello_html_m2f35210a.png

Задайте для всех элементов данного раздела формат: шрифт Times New Roman, жирный, размер 14.

Сохраните отчет. Запустите отчет и просмотрите результат проделанной работы.


  • Вставка нумерации страниц. В раздел нижнего колонтитула в центре вставьте поле (элемент Field), для которого укажите выражение - _pageno.

Задайте для данного поля формат: шрифт Times New Roman, жирный, размер 16.


  • Вставка в отчет итогов. В раздел итогов Summary добавьте текст Итого по всем группам. Затем скопируйте из раздела Detail вычисляемое поле knig.cena* knig.kol и вставьте его в раздел Summary. Щелкните двойной клик по скопированному полю и в окне Field Properties на вкладке Calculate выберите функцию Sum (сумма) по всему отчету (Report). hello_html_m50ada43f.png Задайте для итогов формат: шрифт Times New Roman, жирный, размер 14.

Сохраните отчет. Запустите отчет и просмотрите результат проделанной работы.


  • Сохранение отчета. Сохраните отчет с именем per и закройте его. Проверьте наличие данного отчета в проекте. Запустите его еще раз из проекта с помощью кнопки Preview.

  • Образец отчета для проверки:

hello_html_559fec26.png

hello_html_m79fe39e4.png


  1. Формирование отчета в программе.

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


  • Создадим программу, в которой будет рассчитываться общее количество книг и общая сумма по всем книгам. Затем рассчитанные данные выведем в отчете – справке. Перейдите в проекте на вкладку Code и создайте новую программу с текстом:

CLOSE DATABASES

SELECT 0

USE knig

GO top

sum=0

koli=0

SCAN

koli=koli+kol

sum=sum+kol*cena

ENDSCAN

REPORT FORM spravka preview

Use


Сохраните созданную программу с именем spravka в своей папке и закройте ее.


  • Перейдите на вкладку Documents и запустите конструктор для создания нового отчета. Так как в отчете будут выводиться только значения переменных, то подключать к отчету таблицы не нужно. Отчет будет содержать только данные, рассчитанные в программе, поэтому можно разместить все данные в верхнем колонтитуле. Увеличьте верхний колонтитул по высоте, а остальные разделы сдвиньте до минимума.


  • Выполните конструирование отчета по образцу:

hello_html_3359550d.png


Задайте шрифтовое оформление для элементов, для полей задайте необходимые форматы вывода. Сохраните созданный отчет с именем spravka. Запускать отчет не нужно, так как он будет запускаться из программы.


  • Перейдите опять на вкладку Code и запустите программу spravka. Если все сделано правильно, то программа выведет в отчете рассчитанные данные. Проверьте правильность расчетов по таблице knig.



  1. Покажите результат преподавателю.



Практическая работа 24

«Создание и настройка отчетов»


ВНИМАНИЕ! Проверьте, установлен ли по умолчанию путь к вашей папке!


Откройте свой проект, созданный ранее.

В данной работе необходимо разработать самостоятельно отчеты для свободной таблицы, созданной на первой практической работе.



  1. Создание отчета с помощью мастера.

Задание:

  • создать отчет с помощью мастера на основе свободной таблицы, включив в него наиболее важные поля таблицы,

  • установить необходимые параметры в мастере,

  • доработать отчет в режиме конструктора,

  • добавить в отчет подходящую по тематике картинку.



  1. Создание отчета с помощью средства быстрый отчет.

Задание:

  • создать отчет с помощью средства Быстрый отчет на основе свободной таблицы, включив в него все поля таблицы,

  • доработать отчет в режиме конструктора, если это необходимо, то поменять ориентацию листа.



  1. Создание отчета (или нескольких отчетов) с помощью конструктора.

Внимание! Возможные варианты группировок и итогов можно посмотреть в файле «Варианты заданий к практической работе 24».

Задание:

  • создать отчет с помощью конструктора на основе свободной таблицы, включив в него необходимые поля таблицы,

  • в отчет включить титульный раздел и раздел итогов,

  • добавить в отчет группировку данных по тому полю (полям), в котором возможно повторение данных.

  • добавить в отчет итоговые данные по группе и по всему отчету,

  • оформить элементы отчета,

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



  1. Покажите результат преподавателю.



Практическая работа 25

«Создание меню приложения»


ВНИМАНИЕ! Проверьте, установлен ли по умолчанию путь к вашей папке!


Откройте свой проект, созданный ранее.


  1. Создание выпадающего меню.

Задание: создать меню приложения, сгенерировать его и проверить его работу.


  • Перейдите в проекте на вкладку Other, выделите пункт Menu и нажмите кнопку New. В появившемся окне New Menu выберите пункт Menu для создания выпадающего меню:


hello_html_5d7e41d0.png


Откроется конструктор меню. Создайте меню согласно представленному шаблону:



Рhello_html_25048341.gifhello_html_m2386317b.gifабота с данными

Отчеты

Сервис

Выход

Типы книг

Перечень книг

Данные об издательствах

Учетная карточка

Иhello_html_m59e8b35.gifнвентаризационная опись

Перечень книг

Сhello_html_7c1c978b.gifправка о наличии

О программе

Индексирование


hello_html_722414d0.gif







Лhello_html_3e14c2ac.gifинейка главного меню Выпадающие меню


  • Для пунктов меню Работа с данными, Отчеты, Сервис выберите способ реагирования меню – Submenu. Для пункта меню ВыходProcedure. Не забудьте для каждого пункта линейки главного меню установить в разделе Options клавишную комбинацию быстрого вызова (любую).

hello_html_m41e591b.png


Сохраните меню с именем menu1. Проверьте результат создания меню, нажав на кнопку Preview и просмотрите созданные опции.

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


  • Нажмите кнопку hello_html_m1c9a3f5a.png в пункте Работа с данными. В открывшемся пустом окне введите опции выпадающего меню - Типы книг и Перечень книг. Для обоих пунктов выберите в колонке Result опцию Command для ввода команды. Введите команды для открытия пунктов меню:

  • Для пункта Типы книг – do form f1

  • Для пункта Перечень книг - do form f3


hello_html_6c5ad7a4.png


Сохраните меню. Проверьте результат создания меню, нажав на кнопку Preview и просмотрите созданные опции.

С помощью опции Menu Level вернитесь в меню первого уровня – Menu Bar:

hello_html_m5de617e4.png


  • Выполните аналогичные действия для второго пункта меню – Отчеты. Нажмите кнопку hello_html_m1c9a3f5a.png и введите опции выпадающего меню. Для всех пунктов выберите в колонке Result опцию Command. Введите команды для запуска пунктов меню:

  • Для пункта Данные об издательствах – report form izd_o preview

  • Для пункта Учетная карточка - report form knig2 preview

  • Для пункта Инвентаризационная опись - report form opis preview

  • Для пункта Перечень книг - report form per preview

  • Для пункта Справка о наличии- do spravka


Проверьте результат создания меню, нажав на кнопку Preview и просмотрите созданные опции.

С помощью опции Menu Level вернитесь в меню первого уровня – Menu Bar.



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

  • Для пункта О программе выберите опцию Command и введите команду do form info

  • Для пункта Индексирование выберите опцию Procedure и нажмите кнопку hello_html_m1c9a3f5a.png для создания процедуры. В открывшемся окне введите программу для индексирования таблиц:

hello_html_7c32f354.png


  • По завершении ввода программного кода закройте окно процедуры и сохраните ее.


Сохраните меню. Проверьте результат создания меню, нажав на кнопку Preview и просмотрите созданные опции.

С помощью опции Menu Level вернитесь в меню первого уровня – Menu Bar.


  • Теперь нужно создать процедуру для опции Выход. Нажмите кнопку hello_html_m1c9a3f5a.png и введите текст процедуры:

SET SYSMENU TO DEFAULT

SET SYSMENU off

CLOSE ALL

CLEAR ALL

CLEAR EVENTS

CANCEL

Сохраните меню. Проверьте результат создания меню, нажав на кнопку Preview и просмотрите созданные опции.

С помощью опции Menu Level вернитесь в меню первого уровня – Menu Bar.


  • По завершении конструирования меню его нужно сгенерировать. Для этого выберите пункт меню MenuGenerate, установите путь для сохранения в своей папке и нажмите кнопку Generate. Если все операции выполнены верно, то меню сгенерируется и никаких ошибок не возникнет. Если на экран выдаются какие-либо ошибки, то нужно проверить правильность введенных команд в меню и повторить процесс генерации.

По завершении генерации закройте меню и запустите его на выполнение с помощью опции Run.

Проверьте работу всех пунктов меню (кроме пункта О программе, так как форма info пока не создана).

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

Попробуйте также запустить меню с помощью команды DO MENU1.mpr, введенной в командном окне.



  1. Создание контекстного меню.

Задание: создать контекстное меню, сгенерировать его и проверить его работу.


  • Перейдите в проекте на вкладку Other, выделите пункт Menu и нажмите Перейдите в проекте на вкладку Other, выделите пункт Menu и нажмите кнопку New. В появившемся окне New Menu выберите пункт Shortcut для создания контекстного меню:


hello_html_m1927d325.png


Откроется конструктор меню. Создайте меню согласно представленному шаблону (между опциями меню вставьте разделительную полосу):

hello_html_66cb8551.png


  • Для обоих пунктов выберите в колонке Result опцию Command и введите команды:

Для пункта Сообщение 1 команда:

=MESSAGEBOX('Это форма для просмотра книг', 0+48+256, 'Внимание!')


Для пункта Сообщение 2 команда:

=MESSAGEBOX('Для выхода используйте кнопку ВЫХОД', 0+16+256, 'Внимание!')



Эти команды выводят на экран окно сообщений.

Сохраните меню с именем menu2. Проверьте результат создания меню, нажав на кнопку Preview и просмотрите созданные опции.


  • Сгенерируйте созданное меню.

По завершении генерации закройте меню и запустите его на выполнение с помощью опции Run.

Проверьте работу всех пунктов меню.


  • Подключим созданное меню к форме. Для формы f3 добавим команду, которая будет открывать созданное контекстное меню при нажатии правой кнопки мыши.

  • Откройте форму f3 в режиме конструктора. Выберите для объекта Form событие RightClick и запишите в коде этого события всего одну команду:

DO menu2.mpr


  • Сохраните форму и запустите ее на выполнение. Щелкнув по форме (по свободному месту) правой кнопкой мыши, проверьте работу созданного контекстного меню.


  1. Покажите результат преподавателю.



Практическая работа 26

«Компиляция проекта приложения»


ВНИМАНИЕ! Проверьте, установлен ли по умолчанию путь к вашей папке!


Откройте свой проект, созданный ранее.


  1. Создание главного файла приложения.

Задание: создать программу и определить ее как главный файл приложения.


  • Загрузите свой проект и перейдите на вкладку Code. Выберите пункт Program и нажмите кнопку New. У вас откроется окно новой программы.

  • Введите текст программы:


sПравая фигурная скобка 7et talk off

set safety off

set help off

set memowidth to 90

set reproc to auto

set cent on

s

СИСТЕМНЫЕ УСТАНОВКИ

et date to dmy

set dele on

set point to '.'

set near on

clear macros

set excl off

set esca off

sПравая фигурная скобка 5et refre to 10

Z

ОПРЕДЕЛЕНИЕ

ОКНА

ПРИЛОЖЕНИЯ

OOM WIND SCREEN MAX

MODI WIND SCREEN;

FONT "Courier New Cyr",12 STYLE "B";

TITLE ' Б И Б Л И О Т Е К А ';

NOCLOSE NOFLOAT NOZOOM FILL FILE p1.jpg

d

ЗАГРУЗКА МЕНЮ И ОЖИДАНИЕ СОБЫТИЯ

Правая фигурная скобка 1o menu1.mpr

read events



После ввода текста программы сохраните ее с именем start.


  • Установите для программы свойство главного файла – из контекстного меню пункт Set Main. Убедитесь, что имя программы выделилось жирным шрифтом.


hello_html_59d221a7.png



  1. Компиляция проекта приложения.

Задание: выполнить компиляцию приложения и создать запускаемый файл.


  • Для компиляции приложения используется кнопка проекта Build. Нажмите данную кнопку. Появится диалоговое окно Build Options, в котором можно создать адаптированное приложение или обновить существующий проект.


Настройки диалогового окна Build


Rebuild Project - создает и строит файл проекта. Данная опция соответствует команде BUILD PROJECT.

Application - строит проект, компилирует устаревшие файлы и создает единый файл .APP. Данная опция соответствует команде BUILD APP.

Win32 Executable - создает исполняемый файл на основе проекта. Данная опция соответствует команде BUILD EXE; она доступна только в Professional Edition of Visual FoxPro.

Recompile All Files - перекомпилирует все файлы, входящие в проект и создает объектный файл для каждого исходного файла.

Display Errors - показывает ошибки этапа компиляции в окне редактирования после завершения построения.


  • Выберите в данном окне пункты Win32 Executable и Recompile All Files и нажмите кнопку ОК.

Багетная рамка 12


ВНИМАНИЕ! Если в объектах проекта имеются недоработки, то будет выведено сообщение об ошибке. Его можно временно игнорировать, нажав кнопку Ignore.



  • Для просмотра имеющихся ошибок приложения используется пункт меню ProjectErrors.

hello_html_m2f3431af.png

Просмотрите ошибки. В файле ошибок будет указан тип ошибки, и файл, в котором ошибка обнаружена.


После устранения всех ошибок необходимо повторить процедуру компиляции приложения.


  1. Запуск приложения.


  • Для запуска приложения используется пункт меню Program – Do.


hello_html_1c65727f.png


После этого откроется окно DO. Выберите в списке свой созданный файл с расширением .exe и запустите его.


Проверьте работу приложения.


  1. Дополнение приложения новыми опциями.

Задание: создать новую форму с информацией о разработчике и программе.


  • Создайте новую форму info с данными о программе и разработчике (свои данные). Установите необходимые свойства и события для формы и ее объектов.





Прямоугольник 11

Информационная система

«Библиотека»

Разработчик: Иванов И.И.


Контактный телефон: 5-55-55

Багетная рамка 10




  • Закомпилируйте приложение заново и запустите на выполнение. Проверьте работу созданной вами формы.


  1. Покажите результат преподавателю.


Приложения


Варианты заданий к практической работе 1


Вариант 1

Таблица EKZAM (Экзаменационная ведомость).

Name

Type

Width/ Decimal

Описание поля

Nomer

Integer(Autoinc)

4

Порядковый номер

F

Character

15

Фамилия

I

Character

10

Имя

O

Character

10

Отчество

DR

Date

8

Дата рождения

Mat

Numeric

1

Оценка по математике

Fiz

Numeric

1

Оценка по физике

Inf

Numeric

1

Оценка по информатике

Sred

Numeric

3/1

Средний балл

Dopusk

Logical

1

Признак допуска


Вариант 2

Таблица KLIENT ( Клиенты).

Name

Type

Width/ Decimal

Описание поля

Id

Integer(Autoinc)

4

Код клиента

Company

Character

20

Предприятие

Fam

Character

16

Фамилия

Name

Character

16

Имя

Secondname

Character

16

Отчество

Adress

Character

60

Адрес

Creditlimit

Currency

8

Кредит

Proc

Numeric

5/2

Процент скидки

Privileged

Logical

1

Постоянный клиент


Вариант 3

Таблица INFO (Информация о сотрудниках).

Name

Type

Width/ Decimal

Описание поля

Tab

Integer(Autoinc)

4

Табельный номер

Fam

Character

17

Фамилия и инициалы сотрудника

Dtr

Date

8

Дата рождения

Det

Numeric

1

Количество детей

Pol

Character

1

Пол

Sem

Logical

1

Семейное положение

Szar

Numeric

9/1

Средняя заработная плата

Podr

Character

15

Подразделение, место работы


Вариант 4

Таблица SOTRUD (Данные о сотрудниках).

Name

Type

Width/ Decimal

Описание поля

Num

Integer(Autoinc)

4

Порядковый номер

FIO

Character

20

Ф.И.О.

DTR

Date

8

Дата рождения

Adress

Character

25

Домашний адрес

Tel

Numeric

8

Телефон

Dol

Character

10

Должность

Sta

Numeric

4/1

Стаж работы

Priz

Logical

1

Признак высшего образования


Вариант 5

Таблица REITING (Рейтинг популярности юмористических программ).

Name

Type

Width

Описание поля

Kod

Integer(Autoinc)

4

Код программы

Nap

Character

30

Название программы

Dat

Date

8

Дата выхода

Tim

DateTime

8

Время выхода

K

Character

7

Канал

Zrit

Numeric

10

Количество зрителей

Priz

Logical

1

Признак программы 0+


Вариант 6

Таблица UROJAI (Данные об урожайности).

Name

Type

Width/ Decimal

Описание поля

Num

Integer(Autoinc)

4

Номер по порядку

Naim

Character

15

Совхоз/колхоз

Plos

Numeric

4

Общая площадь (га)

Plos_p

Numeric

6/2

Площадь отводимая по пшеницу ( га)

Plos_k

Numeric

6/2

Площадь отводимая под кукурузу (га)

Ur_p

Numeric

4/1

Урожайность пшеницы (ц/га)

Ur_k

Numeric

4/1

Урожайность кукурузы (ц/га)

Poteri

Logical

1

Наличие потерь при сборе


Вариант 7

Таблица ZADOLJ (График сдачи академических задолженностей). Таблица имеет следующие поля:

Name

Type

Width

Описание поля

N

Integer(Autoinc)

4

Порядковый номер

FIOS

Character

15

Ф.И.О. студента

GR

Numeric

3

Группа

KUR

Numeric

1

Курс

PRED

Character

16

Предмет

PRE

Character

15

Преподаватель

DS

Date

8

Дата сдачи

VR

Time

8

Время

RSZ

Character

7

Результат сдачи задолженности

Priz

Logical

1

Признак допуска


Вариант 8

Таблица STUD (Студенческая группа). Таблица имеет следующие поля:

Name

Type

Width

Описание поля

NP

Integer(Autoinc)

4

Порядковый номер

F

Character

15

Фамилия

I

Character

10

Имя

O

Character

15

Отчество

Pl

Character

1

Пол (м/ж)

Rai

Character

25

Район

SG

Character

15

Село/Город

Yl

Character

25

Улица

Ob

Character

3

Основа обучения (бюд/ком)

Inog

Logical

1

Признак иногороднего


Вариант 9

Таблица BIBLIO (АРМ библиотекаря). Таблица имеет следующие поля:

Name

Type

Width

Описание поля

Nom

Integer(Autoinc)

4

Порядковый номер

Fa

Character

15

Фамилия

Im

Character

10

Имя

Ot

Character

15

Отчество

Np

Numeric

10

паспорта

Naz

Character

30

Название книги

Aw

Character

15

Автор

Nz

Logical

1

Наличие задолженности


Вариант 10


Таблица SKLAD (Склад).

Name

Type

Width/ Decimal

Описание поля

Kod

Integer(Autoinc)

4

Код товара

Naim

Character

10

Наименование товара

Ves

Numeric

10/2

Вес упаковки

Kol

Numeric

3

Количество на складе (шт)

Zen

Currency

8

Цена, руб (1шт)

Firm

Character

15

Фирма изготовитель

Gar

Numeric

1

Гарантия (год)

Import

Logical

1

Признак импорта товара



Вариант 11

Таблица OBORUD (Оборудование кабинета).

Name

Type

Width/ Decimal

Описание поля

Nom

Integer(Autoinc)

4

Порядковый номер ТС

Naim

Character

15

Название

Izg

Character

10

Фирма изготовитель

M

Numeric

10/1

Первоначальная стоимость

DP

Date

8

Дата покупки

DU

Date

8

Дата установки

M_rem

Numeric

10/1

Стоимость ремонта

Priz

Logical

1

Признак отечественного производителя

Fio

Character

20

ФИО ответственного лица



Вариант 12

Таблица KATALOG (Каталог косметической продукции).

Name

Type

Width/ Decimal

Описание поля

Kod

Integer(Autoinc)

4

Код товара

Nazv

Character

25

Название

Firm

Character

20

Фирма изготовитель

St

Numeric

10

Стоимость

St_s

Numeric

10/1

Стоимость со скидкой

Kat

Character

20

Категория товара

Nal

Logical

1

Признак наличия на складе

N_sk

Integer

2

Номер склада


Вариант 13

Таблица APTEKA (Учет лекарств).

Name

Type

Width/ Decimal

Описание поля

Kod

Integer(Autoinc)

4

Код лекарства

Nazv

Character

25

Название

Firm

Character

20

Фирма изготовитель

Gr

Character

30

Фармацевтическая группа

St

Numeric

10

Стоимость

Kol

Integer

3

Количество

D_p

Date

8

Дата последней поставки

Post

Character

20

Фирма поставщик

Rec

Logical

1

Признак рецептурного отпуска


Вариант 14

Таблица NALOG (Учет налогов).

Name

Type

Width/ Decimal

Описание поля

Nom

Integer(Autoinc)

4

Номер записи

Fio

Character

35

Фамилия И.О. налогоплательщика

Nalog

Character

30

Наименование налога

Sum

Numeric

10/1

Сумма налога

Sum_opl

Numeric

10/1

Уплаченная сумма

D_n

Date

8

Дата начисления

D_o

Date

8

Дата оплаты

Kat

Character

30

Категория льготы

Priz

Logical

1

Признак льготы


Вариант 15

Таблица PLATA (Учет коммунальных платежей).

Name

Type

Width/ Decimal

Описание поля

Nom

Integer(Autoinc)

4

Номер записи

Fio

Character

35

Фамилия И.О. абонента

Usl

Character

30

Наименование ком. услуги

Sum

Numeric

10/1

Начисленная сумма

Sum_opl

Numeric

10/1

Уплаченная сумма

Mes

Character

8

Отчетный месяц

God

Integer

4

Отчетный год

D_o

Date

8

Дата оплаты

Skid

Numeric

2

Скидка в %

Priz

Logical

1

Признак льготы


Вариант 16

Таблица SALON (Учет заказов в ателье).

Name

Type

Width/ Decimal

Описание поля

Nom

Integer(Autoinc)

4

Номер записи

Fio

Character

35

Фамилия И.О. заказчика

Usl

Character

30

Наименование услуги заказа

Sum

Numeric

10/1

Стоимость услуги

Pred

Numeric

10/1

Сумма предоплаты

Fio_m

Character

35

Фамилия И.О. мастера

D_z

Date

8

Дата заказа

D_izg

Date

8

Дата изготовления

Vip

Logical

1

Признак постоянного клиента

Priz

Logical

1

Признак срочного заказа



Вариант 17

Таблица REGISTR (Запись к врачам-специалистам).

Name

Type

Width/ Decimal

Описание поля

Nom

Integer(Autoinc)

4

Номер записи

Fio

Character

35

Фамилия И.О. больного

D_r

Date

8

Дата рождения

Adr

Character

50

Адрес

Fio_vr

Character

35

Фамилия И.О. врача

Spec

Character

30

Специальность врача

D_z

Date

8

Дата приема

T

Character

5

Время приема

Pr

Logical

1

Признак льготной категории

St

Numeric

5

Стоимость приема



Вариант 18

Таблица TEXNIC (Магазин бытовой техники).

Name

Type

Width/ Decimal

Описание поля

Kod

Integer(Autoinc)

4

Код товара

Naim

Character

35

Наименование товара

Gr

Character

30

Группа товара

Izg

Character

25

Фирма-изготовитель

St

Numeric

10

Стоимость

Kol

Integer

2

Количество в наличии

Kolz

Integer

2

Количество заказа

D

Date

8

Дата последней поставки

Pr

Logical

1

Признак безналичного расчета при покупке

Men

Character

25

Ответственный менеджер



Вариант 19

Таблица KLINIC (Больница).

Name

Type

Width/ Decimal

Описание поля

Nom

Integer(Autoinc)

4

Номер палаты

Otd

Character

35

Отделение

Fiov

Character

30

ФИО лечащего врача

Fio_b

Character

30

ФИО больного

Diag

Character

40

Диагноз

D_p

Date

8

Дата поступления

D_v

Date

8

Дата выписки

Hoz

Logical

1

Признак лечения по хозрасчету

St

Numeric

8

Стоимость лечения



Вариант 20

Таблица ARENDA (Аренда помещений).

Name

Type

Width/ Decimal

Описание поля

Nom

Integer(Autoinc)

4

Номер записи

Naim

Character

35

Наименование помещения

Adr

Character

50

Адрес расположения

Fio

Character

30

ФИО арендатора

Pasp

Character

11

Номер паспорта

D_a

Date

8

Дата начала аренды

D_e

Date

8

Дата окончания аренды

Opl

Logical

1

Признак оплаты

St

Numeric

8

Стоимость аренды



Вариант 21

Таблица REMONT (Центр по ремонту бытовой техники).

Name

Type

Width/ Decimal

Описание поля

Nom

Integer(Autoinc)

4

Номер записи

Naim

Character

35

Наименование техники

Kat

Character

30

Категория бытовой техники

Fio

Character

30

ФИО клиента

Pasp

Character

11

Номер паспорта

Adr

Character

50

Адрес

D_a

Date

8

Дата поступления в ремонт

D_e

Date

8

Дата окончания ремонта

St

Numeric

8/1

Стоимость ремонта

Opl

Logical

1

Признак оплаты

Fio_m

Character

30

ФИО мастера


Варианты заданий к практической работе 2


Вариант 1 БД «Учет выданных подарков несовершеннолетним детям сотрудников предприятия»

1 таблица

2 таблица

3 таблица

Код сотрудника

Код сотрудника

Код ребенка

Фамилия

Имя ребенка

Стоимость подарка

Имя

Дата рождения

Дата вы дачи подарка

Отчество

Код ребенка

Код выдачи

Должность



Подразделение



Дата приема на работу




Вариант 2 БД «Учет выполненных ремонтных работ»

1 таблица

2 таблица

3 таблица

Код прибора в ремонте

К од прибора

Код мастера

Название прибора

Код мастера

Фамилия мастера

Тип прибора

ФИО владельца прибора

Им я мастера

Дата производства

Дата приема в ремонт

Отчество мастера


Вид поломки

Разряд мастера


Стоимость ремонта

Дата приема на работу


Код ремонта



Вариант 3 БД «Продажа цветов»

1 таблица

2 таблица

3 таблица

Код цветка

Код цветка

Код продавца

Название цветка

Дата продажи

Фамилия

Сорт цветка

Цена продажи

Имя

Средняя высота

Код продавца

Отчество

Тип листа

Код продажи

Разряд

Цветущий


Оклад

Дополнительные сведения


Дата приема на работу


Вариант 4 БД «Поступление лекарственных средств»

1 таблица

2 таблица

3 таблица

Код лекарства

Код лекарства

Код поставщика

Название лекарства

Код поставщика

Сокращенное название

Показания к применению

Дата поставки

Полное название

Единица измерения

Цена за единицу

Юридический адрес

Количество в упаковке

Количество

Телефон

Название производителя

Код поступления

ФИО руководителя


Вариант 5 БД «Списание оборудования»

1 таблица

2 таблица

3 таблица

Код оборудования

Код оборудования

Код сотрудника

Название оборудования

Причина списания

Фамилия

Тип оборудования

Дата списания

Имя

Дата поступления

Код сотрудника

Отчество

ФИО ответственного

Код списания

Должность


Место установки


Подразделение



Дата приема на работу


Вариант 6 БД «Поваренная книга»

1 таблица

2 таблица

3 таблица

Код блюда

Код блюда

Код продукта

Тип блюда

Код продукта

Название продукта

Вес блюда

Объем продукта

Ед измерения

Порядок приготовления



Количество калорий



Количество углеводов




Вариант 7 БД «Регистрация входящей документации»

1 таблица

2 таблица

3 таблица

Код регистратора

Код документа

Код организации-отправителя

Фамилия

Номер документа

Сокращенное название

Имя

Дата регистрации

Полное название

Отчество

Краткое содержание документа

Юридический адрес

Должность

Тип документа

Телефон

Дата приема на работу

Код организации-отправителя

ФИО руководителя


Код регистратора



Вариант 8 БД «Регистрация выходящей документации»

1 таблица

2 таблица

3 таблица

Код отправителя

Код документа

Код организации-получателя

Фамилия

Номер документа

Сокращенное название

Имя

Дата регистрации

Полное название

Отчество

Краткое содержание документа

Юридический адрес

Должность

Тип документа

Телефон

Дата приема на работу

Код организации-получателя

ФИО руководителя


Код отправителя



Вариант 9 БД «Увольнение сотрудника»

1 таблица

2 таблица

3 таблица

Код сотрудника

Код документа

Код статьи увольнения

Фамилия

Номер документа

Название статьи увольнения

Имя

Дата регистрации

Причина увольнения

Отчество

Дата увольнения

Номер статьи увольнения

Должность

Код статьи увольнения

Но мер пункта/ подпункта

увольнения

Подразделение

Код сотрудника


Дата приема на работу

Денежная компенсация



Вариант 10 БД «Приказ на отпуск»

1 таблица

2 таблица

3 таблица

Код сотрудника

Код документа

Код отпуска

Фамилия

Номер документа

Тип отпуска

Имя

Дата регистрации

Оплата отпуска

Отчество

Дата начала отпуска

Льготы по отпуску

Должность

Дата окончания отпуска


Подразделение

Код сотрудника


Дата приема на работу

Код отпуска



Вариант 11 БД «Назначение на должность»

1 таблица

2 таблица

3 таблица

Код сотрудника

Код документа

Код должности

Фамилия

Номер документа

Название должности

Имя

Дата регистрации

Льгот ы по должности

Отчество

Дата назначения

Требования к квалификации

Дата приема на работу

К од сотрудника


Дата рождения

Код должности


Пол




Вариант 12 БД «Выдача оборудования в прокат»

1 таблица

2 таблица

3 таблица

Код клиента

Код выдачи

Код оборудования

Фамилия

Номер документа

Название оборудования

Имя

Дата начала проката

Тип оборудования

Отчество

Дата окончания проката

Дата поступления в прокат

Адрес

Код оборудования


Телефон

Код клиента


Серия и номер паспорта

Стоимость



Вариант 13 БД «Списание оборудования из проката»

1 таблица

2 таблица

3 таблица

Код оборудования

Код оборудования

Код сотрудника

Название оборудования

Причина списания

Фамилия

Тип оборудования

Дата списания

Имя

Дата поступления в прокат

Код сотрудника

Отчество


Номер документа

Должность


Дата регистрации

Дата приема на работу


Код списания



Вариант 14 БД «Прием цветов в магазин»

1 таблица

2 таблица

3 таблица

Код цветка

Код цветка

Код поставщика

Название цветка

Дата поступления

Сокращенное название

Сорт цветка

Цена за единицу

Полное название

Средняя высота

Код поставщика

Юридический адрес

Тип листа

Код поступления

Телефон

Цветущий

Количество

ФИО руководителя

Дополнительные сведения




Вариант 15 БД «Регистрация клиентов гостиницы»

1 таблица

2 таблица

3 таблица

Код номера

Код регистрации

Код клиента

Тип номера

Код номера

Фамилия

Перечень удобств

Дата заезда

Имя

Цена за сутки

Дата выезда

Отчество


Стоимость

Адрес


Код клиента

Телефон



Серия и номер паспорта


Вариант 16 БД «Возврат оборудования в службу проката»

1 таблица

2 таблица

3 таблица

Код клиента

Код возврата

Код оборудования

Фамилия

Номер документа

Название оборудования

Имя

Дата возврата

Тип оборудования

Отчество

Состояние оборудования

Дата поступления в прокат

Адрес

Код оборудования


Телефон

Код клиента


Серия и номер паспорта

Штраф


Вариант 17 БД «Учет материальных ценностей на предприятии»

1 таблица

2 таблица

3 таблица

Код ценности

Код постановки на учет

Код материально ответственного

Название ценности

Код ценности

Фамилия

Тип ценности

Код материально ответственного

Имя

Закупочная стоимость

Дата постановки на учет

Отчество

Срок гарантии

Место нахождения ценности

Должность

Дата начала гарантии


Дата приема на работу



Подразделение


Вариант 18 БД «Состав ремонтных работ»

1 таблица

2 таблица

3 таблица

Код ремонтной работы

Код ремонтной работы

Код мастера

Код этапа работы

Код мастера

Фамилия мастера

Название этапа работы

Стоимость ремонта

Имя мастера

Стоимость этапа

Количество дней ремонта

Отчество мастера


Название ремонтной работы

Разряд мастера



Дата приема на работу


Вариант 19 БД «Продажа лекарственных средств»

1 таблица

2 таблица

3 таблица

Код лекарства

Номер чека

Номер чека

Название лекарства

Цена за единицу

Дата продажи

Показания к применению

Количество

Сумма

Единица измерения

Код лекарства

ФИО кассира

Количество в упаковке


Код записи в чеках

Название производителя




Вариант 20 БД «Выдача канцелярии сотрудникам»

1 таблица

2 таблица

3 таблица

Код сотрудника

Код выдачи

Код канцелярии

Фамилия

Дата выдачи

Название канцелярии

Имя

Код сотрудника

Тип канцелярии

Отчество

Код канцелярии

Цена канцелярии за единицу

Адрес

Факт получения


Должность



Кафедра



Вариант 21 БД «Комплектование подарков к Новому году»

1 таблица

2 таблица

3 таблица

Код товара

Код подарка

Код подарка

Ед измерения

Код товара в подарке

Название подарка

Тип товара

Количество товара

Дата формирования

Название товара

Код записи в таблице

Получатель подарка

Цена за единицу


ФИО расфасовщика



Дата вручения



Факт вручения

Вариант 22 БД «Учет исполнения по входящей документации»

1 таблица

2 таблица

3 таблица

Код исполнителя

Код документа

Код документа

Фамилия

Дата назначения на исполнение

Номер документа

Имя

Срок выполнения в днях

Дата регистрации

Отчество

Тип результата

Краткое содержание документа

Должность

Код исполнителя

Тип документа

Подразделение

Факт исполнения

Организация-отправитель

Дата приема на работу


Код исполнителя


Варианты заданий к практической работе 24


Вариант 1

Таблица EKZAM (Экзаменационная ведомость).

Name

Type

Width/ Decimal

Описание поля

Nomer

Integer(Autoinc)

4

Порядковый номер

F

Character

15

Фамилия

I

Character

10

Имя

O

Character

10

Отчество

DR

Date

8

Дата рождения

Mat

Numeric

1

Оценка по математике

Fiz

Numeric

1

Оценка по физике

Inf

Numeric

1

Оценка по информатике

Sred

Numeric

3/1

Средний балл

Dopusk

Logical

1

Признак допуска

Возможные группировки: по среднему баллу, по признаку допуска.

Возможные итоги: итог по среднему баллу


Вариант 2

Таблица KLIENT ( Клиенты).

Name

Type

Width/ Decimal

Описание поля

Id

Integer(Autoinc)

4

Код клиента

Company

Character

20

Предприятие

Fam

Character

16

Фамилия

Name

Character

16

Имя

Secondname

Character

16

Отчество

Adress

Character

60

Адрес

Creditlimit

Currency

8

Кредит

Proc

Numeric

5/2

Процент скидки

Privileged

Logical

1

Постоянный клиент

Возможные группировки: по предприятию, по признаку постоянного клиент, по фамилии, имени и отчеству.

Возможные итоги: итог по сумме кредита.


Вариант 3

Таблица INFO (Информация о сотрудниках).

Name

Type

Width/ Decimal

Описание поля

Tab

Integer(Autoinc)

4

Табельный номер

Fam

Character

17

Фамилия и инициалы сотрудника

Dtr

Date

8

Дата рождения

Det

Numeric

1

Количество детей

Pol

Character

1

Пол

Sem

Logical

1

Семейное положение

Szar

Numeric

9/1

Средняя заработная плата

Podr

Character

15

Подразделение, место работы

Возможные группировки: по количеству детей, по семейному положению, по месту работы.

Возможные итоги: итог по средней з/п, по количеству детей.


Вариант 4

Таблица SOTRUD (Данные о сотрудниках).

Name

Type

Width/ Decimal

Описание поля

Num

Integer(Autoinc)

4

Порядковый номер

FIO

Character

20

Ф.И.О.

DTR

Date

8

Дата рождения

Adress

Character

25

Домашний адрес

Tel

Numeric

8

Телефон

Dol

Character

10

Должность

Sta

Numeric

4/1

Стаж работы

Priz

Logical

1

Признак высшего образования

Возможные группировки: по должности, по стажу работы, по признаку высшего образования.

Возможные итоги: итог по стажу работы.


Вариант 5

Таблица REITING (Рейтинг популярности юмористических программ).

Name

Type

Width

Описание поля

Kod

Integer(Autoinc)

4

Код программы

Nap

Character

30

Название программы

Dat

Date

8

Дата выхода

Tim

DateTime

8

Время выхода

K

Character

7

Канал

Zrit

Numeric

10

Количество зрителей

Priz

Logical

1

Признак программы 0+

Возможные группировки: по дате выхода, по времени выхода, по каналу.

Возможные итоги: итог по количеству зрителей.


Вариант 6

Таблица UROJAI (Данные об урожайности).

Name

Type

Width/ Decimal

Описание поля

Num

Integer(Autoinc)

4

Номер по порядку

Naim

Character

15

Совхоз/колхоз

Plos

Numeric

4

Общая площадь (га)

Plos_p

Numeric

6/2

Площадь отводимая по пшеницу ( га)

Plos_k

Numeric

6/2

Площадь отводимая под кукурузу (га)

Ur_p

Numeric

4/1

Урожайность пшеницы (ц/га)

Ur_k

Numeric

4/1

Урожайность кукурузы (ц/га)

Poteri

Logical

1

Наличие потерь при сборе

Возможные группировки: по общей площади, по урожайности.

Возможные итоги: итог по урожайности пшеницы и урожайности кукурузы.


Вариант 7

Таблица ZADOLJ (График сдачи академических задолженностей). Таблица имеет следующие поля:

Name

Type

Width

Описание поля

N

Integer(Autoinc)

4

Порядковый номер

FIOS

Character

15

Ф.И.О. студента

GR

Numeric

3

Группа

KUR

Numeric

1

Курс

PRED

Character

16

Предмет

PRE

Character

15

Преподаватель

DS

Date

8

Дата сдачи

VR

Time

8

Время

RSZ

Character

7

Результат сдачи задолженности

Priz

Logical

1

Признак допуска

Возможные группировки: по ФИО студента, по предмету, по преподавателю.

Возможные итоги: итог по количеству записей.


Вариант 8

Таблица STUD (Студенческая группа). Таблица имеет следующие поля:

Name

Type

Width

Описание поля

NP

Integer(Autoinc)

4

Порядковый номер

F

Character

15

Фамилия

I

Character

10

Имя

O

Character

15

Отчество

Pl

Character

1

Пол (м/ж)

Rai

Character

25

Район

SG

Character

15

Село/Город

Yl

Character

25

Улица

Ob

Character

3

Основа обучения (бюд/ком)

Inog

Logical

1

Признак иногороднего

Возможные группировки: по району, по городу, по признаку иногороднего.

Возможные итоги: итог по количеству записей.


Вариант 9

Таблица BIBLIO (АРМ библиотекаря). Таблица имеет следующие поля:

Name

Type

Width

Описание поля

Nom

Integer(Autoinc)

4

Порядковый номер

Fa

Character

15

Фамилия

Im

Character

10

Имя

Ot

Character

15

Отчество

Np

Numeric

10

паспорта

Naz

Character

30

Название книги

Aw

Character

15

Автор

Nz

Logical

1

Наличие задолженности

Возможные группировки: по ФИО, по наличию задолженности.

Возможные итоги: итог по количеству записей.


Вариант 10


Таблица SKLAD (Склад).

Name

Type

Width/ Decimal

Описание поля

Kod

Integer(Autoinc)

4

Код товара

Naim

Character

10

Наименование товара

Ves

Numeric

10/2

Вес упаковки

Kol

Numeric

3

Количество на складе (шт)

Zen

Currency

8

Цена, руб (1шт)

Firm

Character

15

Фирма изготовитель

Gar

Numeric

1

Гарантия (год)

Import

Logical

1

Признак импорта товара

Возможные группировки: по фирме изготовителю, по признаку импорта.

Возможные итоги: итог по количеству на складе, по весу.


Вариант 11

Таблица OBORUD (Оборудование кабинета).

Name

Type

Width/ Decimal

Описание поля

Nom

Integer(Autoinc)

4

Порядковый номер ТС

Naim

Character

15

Название

Izg

Character

10

Фирма изготовитель

M

Numeric

10/1

Первоначальная стоимость

DP

Date

8

Дата покупки

DU

Date

8

Дата установки

M_rem

Numeric

10/1

Стоимость ремонта

Priz

Logical

1

Признак отечественного производителя

Fio

Character

20

ФИО ответственного лица

Возможные группировки: по фирме изготовителю, по дате покупки, по признаку отечественного производителя.

Возможные итоги: итог по первоначальной стоимости, по стоимости ремонта.


Вариант 12

Таблица KATALOG (Каталог косметической продукции).

Name

Type

Width/ Decimal

Описание поля

Kod

Integer(Autoinc)

4

Код товара

Nazv

Character

25

Название

Firm

Character

20

Фирма изготовитель

St

Numeric

10

Стоимость

St_s

Numeric

10/1

Стоимость со скидкой

Kat

Character

20

Категория товара

Nal

Logical

1

Признак наличия на складе

N_sk

Integer

2

Номер склада

Возможные группировки: по фирме изготовителю, по категории товара, по номеру склада.

Возможные итоги: итог по стоимости.


Вариант 13

Таблица APTEKA (Учет лекарств).

Name

Type

Width/ Decimal

Описание поля

Kod

Integer(Autoinc)

4

Код лекарства

Nazv

Character

25

Название

Firm

Character

20

Фирма изготовитель

Gr

Character

30

Фармацевтическая группа

St

Numeric

10

Стоимость

Kol

Integer

3

Количество

D_p

Date

8

Дата последней поставки

Post

Character

20

Фирма поставщик

Rec

Logical

1

Признак рецептурного отпуска

Возможные группировки: по фирме изготовителю, по фармацевтической группе, по фирме поставщику.

Возможные итоги: итог по стоимости или количеству.


Вариант 14

Таблица NALOG (Учет налогов).

Name

Type

Width/ Decimal

Описание поля

Nom

Integer(Autoinc)

4

Номер записи

Fio

Character

35

Фамилия И.О. налогоплательщика

Nalog

Character

30

Наименование налога

Sum

Numeric

10/1

Сумма налога

Sum_opl

Numeric

10/1

Уплаченная сумма

D_n

Date

8

Дата начисления

D_o

Date

8

Дата оплаты

Kat

Character

30

Категория льготы

Priz

Logical

1

Признак льготы

Возможные группировки: по ФИО, по наименованию налога, по категории льготы, по дате начисления.

Возможные итоги: итог по сумме или уплаченной сумме.


Вариант 15

Таблица PLATA (Учет коммунальных платежей).

Name

Type

Width/ Decimal

Описание поля

Nom

Integer(Autoinc)

4

Номер записи

Fio

Character

35

Фамилия И.О. абонента

Usl

Character

30

Наименование ком. услуги

Sum

Numeric

10/1

Начисленная сумма

Sum_opl

Numeric

10/1

Уплаченная сумма

Mes

Character

8

Отчетный месяц

God

Integer

4

Отчетный год

D_o

Date

8

Дата оплаты

Skid

Numeric

2

Скидка в %

Priz

Logical

1

Признак льготы

Возможные группировки: по ФИО, по названию ком.услуги, по отчетному месяцу и году.

Возможные итоги: итог по начисленной сумме, по уплаченной сумме


Вариант 16

Таблица SALON (Учет заказов в ателье).

Name

Type

Width/ Decimal

Описание поля

Nom

Integer(Autoinc)

4

Номер записи

Fio

Character

35

Фамилия И.О. заказчика

Usl

Character

30

Наименование услуги заказа

Sum

Numeric

10/1

Стоимость услуги

Pred

Numeric

10/1

Сумма предоплаты

Fio_m

Character

35

Фамилия И.О. мастера

D_z

Date

8

Дата заказа

D_izg

Date

8

Дата изготовления

Vip

Logical

1

Признак постоянного клиента

Priz

Logical

1

Признак срочного заказа

Возможные группировки: по ФИО, по услуге, по ФИО мастера, по дате заказа.

Возможные итоги: итог по стоимости или предоплате.



Вариант 17

Таблица REGISTR (Запись к врачам-специалистам).

Name

Type

Width/ Decimal

Описание поля

Nom

Integer(Autoinc)

4

Номер записи

Fio

Character

35

Фамилия И.О. больного

D_r

Date

8

Дата рождения

Adr

Character

50

Адрес

Fio_vr

Character

35

Фамилия И.О. врача

Spec

Character

30

Специальность врача

D_z

Date

8

Дата приема

T

Character

5

Время приема

Pr

Logical

1

Признак льготной категории

St

Numeric

5

Стоимость приема

Возможные группировки: по ФИО больного, по ФИО врача, по дате приема.

Возможные итоги: итог по стоимости.


Вариант 18

Таблица TEXNIC (Магазин бытовой техники).

Name

Type

Width/ Decimal

Описание поля

Kod

Integer(Autoinc)

4

Код товара

Naim

Character

35

Наименование товара

Gr

Character

30

Группа товара

Izg

Character

25

Фирма-изготовитель

St

Numeric

10

Стоимость

Kol

Integer

2

Количество в наличии

Kolz

Integer

2

Количество заказа

D

Date

8

Дата последней поставки

Pr

Logical

1

Признак безналичного расчета при покупке

Men

Character

25

Ответственный менеджер

Возможные группировки: по группе товара, по фирме изготовителю.

Возможные итоги: итог по стоимости и количеству в наличии.


Вариант 19

Таблица KLINIC (Больница).

Name

Type

Width/ Decimal

Описание поля

Nom

Integer(Autoinc)

4

Номер палаты

Otd

Character

35

Отделение

Fiov

Character

30

ФИО лечащего врача

Fio_b

Character

30

ФИО больного

Diag

Character

40

Диагноз

D_p

Date

8

Дата поступления

D_v

Date

8

Дата выписки

Hoz

Logical

1

Признак лечения по хозрасчету

St

Numeric

8

Стоимость лечения

Возможные группировки: по отделению, по номеру палаты, по диагнозу.

Возможные итоги: итог по стоимости лечения


Вариант 20

Таблица ARENDA (Аренда помещений).

Name

Type

Width/ Decimal

Описание поля

Nom

Integer(Autoinc)

4

Номер записи

Naim

Character

35

Наименование помещения

Adr

Character

50

Адрес расположения

Fio

Character

30

ФИО арендатора

Pasp

Character

11

Номер паспорта

D_a

Date

8

Дата начала аренды

D_e

Date

8

Дата окончания аренды

Opl

Logical

1

Признак оплаты

St

Numeric

8

Стоимость аренды

Возможные группировки: по наименованию помещения, по ФИО арендатора.

Возможные итоги: итог по стоимости аренды.


Вариант 21

Таблица REMONT (Центр по ремонту бытовой техники).

Name

Type

Width/ Decimal

Описание поля

Nom

Integer(Autoinc)

4

Номер записи

Naim

Character

35

Наименование техники

Kat

Character

30

Категория бытовой техники

Fio

Character

30

ФИО клиента

Pasp

Character

11

Номер паспорта

Adr

Character

50

Адрес

D_a

Date

8

Дата поступления в ремонт

D_e

Date

8

Дата окончания ремонта

St

Numeric

8/1

Стоимость ремонта

Opl

Logical

1

Признак оплаты

Fio_m

Character

30

ФИО мастера

Возможные группировки: по ФИО клиента, по ФИО мастера, по признаку оплаты.

Возможные итоги: итог по стоимости ремонта.





Список рекомендуемой литературы


  1. К.Э.Плохотникова и др. Методы разработки курсовых работ - М.: СОЛОН-ПРЕСС, 2006

  2. В.А. Гвоздева Введение в специальность программиста. - М.: ФОРУМ: ИНФРА -М,2007

  3. О.Л.Голицына и др. Базы данных. -М.: ФОРУМ: ИНФРА-М, 2007

  4. А.В.Кузин, В.М. Демин. Разработка баз данных в системе Microsoft Access.- M.: ФОРУМ : ИНФРА - М, 2007

  5. О.Л. Голицына и др. Системы управления базами данных. - М.: ФОРУМ : ИНФРА - М, 2006

  6. А.К. Гультяев, В.А. Машин. Проектирование и дизайн пользовательского интерфейса. - СПб.: КОРОНА принт, 2007

  7. Т.Л. Партыка, И.И. Попов. Инфорационная безопасность. - М.: ФОРУМ : ИНФРА - М,2007

  8. Л.Г. Гагарина и др. Разработка и эксплуатация автоматизированных информационных систем. - М.: ИД «ФОРУМ» : ИНФРА - М, 2007




Автор
Дата добавления 04.12.2015
Раздел Информатика
Подраздел Другие методич. материалы
Просмотров458
Номер материала ДВ-227339
Получить свидетельство о публикации

Похожие материалы

Включите уведомления прямо сейчас и мы сразу сообщим Вам о важных новостях. Не волнуйтесь, мы будем отправлять только самое главное.
Специальное предложение
Вверх