Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
39
Добавлен:
02.05.2014
Размер:
69.12 Кб
Скачать

/

ЛАБОРАТОРНАЯ РАБОТА 5

1. ЦЕЛЬ РАБОТЫ

Изучение средств и методов работы в Конструкторах отчетов, этикеток, меню.

  1. МЕТОДИЧЕСКИЕ УКАЗАНИЯ

Под отчетом понимается форматированное представление данных, выводимых на экран, принтер или в файл.

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

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

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

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

- выполнить команду меню File/New. В открывшемся окне диалога «New» установите опцию Report и нажмите кнопку New File

-нажмите кнопку New в окне проекта, выбрав предварительно группу «Report»

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

Таблица 1. Типы полос

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

Описание

Title (Титул)

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

Page Header (Верхний колонтитул)

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

Group Header (Группа сверху)

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

Detail (Детали)

Информация полей из таблицы или результат вычислений над полями из таблицы

Group Footer (Группа снизу)

Итоговая информация по группе

Page Footer(Нижний колонтитул)

Информация, содержащая название отчета, дату, номер страницы и итоговые значения по данным текущей страницы

Summary (Итоги)

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

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

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

- определение среды окружения

- размещение текста, полей, линий, прямоугольников и рисунков

- перемещение объектов

  • сохранение отчета

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

  • открыть требуемые таблицы

  • выбрать индексы таблицы

  • установить отношения между таблицами

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

- выполнить команду View/Data Environment основного меню

- выбрать пункт Data Environment всплывающего меню.

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

Visual Fox Pro предоставляет возможность изменять шрифт и цвет текста. Для этого с помощью мыши необходимо выбрать текст и выполнить команду Formal/Font.

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

1. Выберите команду меню Report/Title/Summary

2. В открывшемся окне диалога установите флажки Title band и Summary band.

  1. Нажмите ОК. В отчете появятся указанные полосы.

Флажок New page используется, если после полосы вы хотите печатать отчет с новой страницы.

После добавления новых полос в отчете в полосе Title разместите объект заголовка отчета, в качестве которых могут выступать текст, поля, прямоугольники и рисунки. В полосу Summary могут добавляться итоговые значения полей отчета, а также объекты оформления отчета (текст и рисунки).

Для размещения полей таблицы выберите инструмент Field на панели инструментов Report Control. Установите курсор в соответствующее место окна конструктора и установите требуемый размер поля. На экране появится окно диалога Report Expression. В данном окне Кнопка Print When используется для задания условий печати. Флажки Field position используются для установления положения поля в отчете. В поле ввода Expression вводится выражение, результат которого будет выводиться в данное поле. При формировании выражения могут быть использованы поля открытых таблиц, переменные из списка Variables построителя выражений, строковые, логические, математические функции, а также функции даты и времени.

Например, можно отобразить в отчете вместо трех полей с Lastname (фамилия), с Firstname (имя), с Secondname (отчество) одно вычисляемое поле, которое содержит фамилию и инициалы покупателя. Выражение для этого поля имеет следующий вид:

ALLTRIM (Person c Lastname ) +

+ SUBSTR (Person c Firstname, 1,1) +

+ SUBSTR (Person c Secondname, 1,1) +

Для задания формата поля используется поле Format.

Конструктор отчетов позволяет размещать в отчете поля, содержащие статистические значения полей отчета. Итоговые поля чаще всего размещаются в колонтитулах, полосах группы и в итоговой части отчета. Для определения поля в качестве итогового нажмите кнопку Calculations окна диалога Report Expression. При этом на экране откроется окно диалога Calculate Field, в котором может быть выбрана математическая операция над значением выражения, определенного для данного поля.

Таблица 2. Опции окна диалога

Опции

Назначение

Nothing

Над полем не проводить вычислений

Count

Вычисляется количество значений поля (сами значения поля не используются)

Sum

Вычисляется итоговая сумма значений поля

Average

Вычисляется среднее арифметическое значений поля

Lowest

Отображается наименьшее значение поля

Highest

Отображается наибольшее значение поля

Standart deviation

Возвращается квадратный корень из дисперсии

Variace

Возвращается статистическая величина отклонения отдельных значений поля от средней в группе

В верхней части окна диалога находится список Reset, с помощью которого можно определить момент обнуления данного поля.

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

На практике достаточно часто возникает необходимость объединить записи в группы. Для этой цели используется команда меню Report/Data Grouping или команда Grouping всплывающего меню, которые позволяют создавать до 20 уровней вложенности групп и выполнять над ними следующие операции:

  • напечатать каждую группу с новой страницы

  • осуществлять сброс нумерации страниц при печати групп с новой страницы

В результате выполнения команда Report/Data Grouping открывается окно диалога Data Grouping, которое содержит весь список ранее созданных групп. Можно редактировать или удалять имеющиеся группы, а также добавлять новые группы.

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

Таблица 3. Опции группировки данных

Опция

Назначение

Start group on new column

Начинает новую группировку при каждом изменении группы

Start each group on a new page

Начинает новую страницу при каждом изменении группы

Reset page number to 1 for each group

Начинает новую страницу при каждом изменении группы, а нумерацию страниц – с 1

Start group on new page uhen less than

Размещает верхнюю полосу группы после верхнего колонтитула страницы, если группа занимает несколько страниц

Start group on new page uhen less than

Устанавливается минимальное расстояние от нижней границы страницы, на котором может печататься верхняя полоса

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

В полосу Group Header обычно помечают заголовок поля, по которому проводится группировка данных. А в полосе Group Footer помещают итоговое поле по данной группе, например

Sales. Nkol * Sales. N Price

При работе над отчетом вы можете использовать все переменные программы доступные в момент выдачи отчета. Кроме того, в конструкторе отчетов могут быть определены переменные для хранения результатов вычислений, выполняемых во время печати отчета. Для определения переменных выполните команду Report/Variables, в результате чего откроется окно диалога Report/Variables. В этом окне можно определять новые переменные, изменять или удалять существующие, используя кнопки Insert или Delete, соответственно.

Для создания новой переменной введите имя переменной в поле Variables. Для ввода значения переменной или ее начального значения используйте кнопки Value to store и Initial Vaeu, соответственно. При нажатии любой из этих кнопок открывается окно диалога Expression Builder.

Флажок Release after report предназначен для освобождения переменной отчета из памяти после завершения печати отчета.

Список Reset at позволяет задать момент сброса переменной в начальное значение (конец отчета, конец страницы, конец группы). Вычисление переменной начинается с начального значения и продолжается до тех пор, пока значение переменной не сбросится в свое начальное значение. Если какая-либо переменная используется для определения значения другой переменной, то она должна вычисляться раньше использующей ее переменной. Переменные могут использоваться в качестве полей в отчете или в выражениях, определяющих другие поля. Для этого при определении полей переменные отчета отображаются в списке Variables в конструкторе выражений.

С помощью переменных в отчете можно решать и довольно нетривиальные задачи. Например, для печати итоговых значений через каждые десять записей можно в диалоговом окне Report Variables создать переменную. Назовем ее nRec. Выберем в блоке Calculate тип выполняемых вычислений - Count (подсчет числа значений). В диалоговом окне Data укажите в качестве признака группировки: INT (nRes/10). В конструкторе отчетов появятся дополнительные полосы Group Header и Group Footer, в них мы можем разместить поля, для которых необходимо печатать итоговые значения.

Разметка страницы отчета. Для разметки страницы отчета выполните команду File/Page Setup. В этом окне диалога можно определить:

- количество колонок в отчете (Columns)

  • порядок вывода записей в многоколончатых отчетах (Print order ).

  • Ширину левого поля отчета (Left margin)

  • Ширину колонок и расстояние между колонками (область Columns)

  • Единицу изменения координат отчета ( Dimensions: Pixels)

  • Выбор режима печати с минимальными полями или же в соответствии с требованиями текущего драйвера печати (область Print avea)

Установки, выбранные в диалоговом окне Page Setup, сохраняются вместе с файлом отчета. В диалоговом окне Page Setup можно выполнить и настройку принтера, нажав кнопку Print Setup, например, выбрать требуемый лоток подачи бумаги.

Когда отчет готов, вы можете проверить результат, выбрав команду Preview в меню View. Для управления предварительным просмотром используйте специальную панель инструментов Print Pre view. Для выполнения отчета служит команда REPORT FORM.

2.2. Разработка этикеток

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

Для создания этикеток выберите тип нового файла Label. На экране появится диалоговое окно для выбора размера этикетки.

После этого вы сможете приступить к созданию этикетки с помощью Конструктора этикеток (Label Designer). Работа с Конструктором этикеток ни в чем не отличается от создания отчета. Даже название меню, отвечающего за работу с этикетками не изменилось (меню Report).

Для разметки страницы выполните команду File/Page Setup. В открывшемся окне диалога Page Setup в области Columns установите значение Number, определяющее количество колонок, равным 2. Для выполнения этикеток в пользовательской программе служит команда LABEL FORM.

2.3. Разработка меню

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

Создать меню можно из диспетчера проекта выбрав элемент списка Menu и щелкнув мышью на командной кнопке New, так и выбрав пункт меню File/New и указав тип файла Menu Visual Fox Pro позволяет создавать два типа меню: линейку главного меню(Menu) и самостоятельное ниспадающее меню(Shortcut). Тип создаваемого меню указывается в автоматически отображаемом пи создании меню диалоговом окне New Menu. При выполнении этих действий Visual Fox Pro открывает окно проектирования меню. В окне проектирования определены четыре элемента главной линейки меню:

Prompt - название пункта

Result - тип пункта меню

Greate (Edit) - действия, выполняемые при выборе пункта меню

Options - определение клавиш ускоренного действия, блокирование команд меню.

Для определения текстов пунктов меню нажмите кнопку Insert и напечатайте текст в поле Prompt . Например, База данных.

Для определения типа пункта меню выберите требуемый элемент из списка Result. Возможные типы пунктов меню приведены ниже:

Command - команда

Pad Name - дополнительное пояснение к пункту меню

Submenu - ниспадающее меню

Procedure – процедура

Ввод команды, выполняемой при выборе пункта меню Command, осуществляется в поле, которое расположено правее описания типа пункта меню. Например, QUIT или do VIXOD. PRG

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

Итак, мы создали строку меню. При перемещении по пунктам меню в конструкторе меню в столбце Option появляется кнопка Option. При нажатии на данную кнопку Option на экране открывается окно диалога данного пункта меню.

В данном окне диалога содержится область Shortcut, предназначенная для задания клавиш ускоренного действия. Поле Key Label этой области содержит подсказку «press the Key». находясь в этом поле, нажмите клавишу или комбинацию клавиш, используемую в качестве клавиши ускоренного действия, и в поле появится метка, соответствующая нажатию клавиши. В поле ввода Key Text можно ввести краткое пояснение к определяемой клавиши.

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

Таблица 3.

Поля ввода

Назначение

Skip For

Блокирует команду меню (пункт меню становится недоступным, когда указанное поле логическое выражение становится истинным, например nUser>1)

Message

Задает сообщение для пункта меню в строке состояния, например, редактирование

Pad Name

Задает уникальное имя пункта меню

Comment

Задает комментарий к пункту меню

Опция Negotiate предназначена для определения места расположения заголовков меню при редактировании по месту OLE-объектов.

Для сохранения созданного меню выполните команду меню File/Save as. В отрывшемся окне диалога в поле Сохранить в: укажите каталог, в котором вы предполагаете сохранить файл, а в поле Save Menu введите имя сохраняемого меню. В заключении нажмите кнопку Сохранить.

Кнопка Pveview окна конструктора меню позволяет просмотреть внешний вид создаваемого меню, но не позволяет его активизировать. Для использования меню в приложениях его необходимо предварительно cгенерировать. Для этого выполняется команда Menu/Generate. Откроется окно диалога Generate Menu. В поле диалога необходимо ввести наименование файла, который будет создан в результате генерации. Для запуска генерации описания меню достаточно нажать на кнопку Generate.

2.4. Создание выполняемого приложения

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

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

*Очищаем среду

GLEAR ALL

*Переходим в каталог с программой

C APP = SYS (16)

SET DEFAULT TO LEFT ( c APP, RAT (“/”, c APP))

Pub LIC c VYLIB

C MYLIB = SYS (5) + SYS (2003) +“/” + “mystyle. VCX/”

*станавливаем путь в используемые папки

SET PATN TO PROGS, FORMS, LIBS

MENUS, REPORTS, INCLUDE

HELP, PICTURES

*Открываем требуемые библиотеки классов

SET CLASSLIB TO c MYLIB

* Устанавливаем параметры главного

*Окна приложения

  • SCREEN. Caption = “…” && Заголовок главного окна

  • SCRTTN. Closable =.F.

  • SCREEN. Window state = 2

  • SCREEN. Icon = “ … . ico” &&Значок главного окна

*Определяем значение установочных

*Команд

SET DATE GERMAN

SET TALK OFF

*Закрываем открытые базы данных и

*Их таблицы

GLOSE DATA BASES ALL

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

*В приложении

………….

*Запускаем на выполнение основное меню

DO MY Menu. mpv

*Активизируем меню (создается цикл ожидания)

READ EVENTS

Главный элемент проекта устанавливается из меню PROYECT/SET MAIN и отмечается в списке элементов проекта жирным шрифтом.

Далее для создания приложения следует в диспетчере проекта щелкнуть на командной кнопке Build и выбрать в открывшемся диалоговом окне тип создаваемого файла:EXE-файл или APP-файл. В результате выполнения этих действий Visual Fox Pro начнет генерацию приложения.

  1. Программа работы

3.1 Разработать отчетную форму по таблице ЛИЧНОСТЬ (PERSON) с заголовком, заключением (Отчет подготовил …, текущая дата) и группировкой по city-r. В первой строчке Detail поместить поля: фамилия, имя, отчество, пол и количество детей, во второй – поле примечаний. Указать номера страниц. В поле итога по группе подсчитать число жителей города.

    1. Подготовить двухколончатый отчет для распечатки адресов на конвертах из таблицы ЛИЧНОСТЬ (PERSON).

    2. По данным из таблицы ЛИЧНОСТЬ (PERSON) подготовить набор визиток

    3. Разработать программу горизонтального меню с пятью заголовками: таблица, поиск, отчет, визитки, выход. Пункт поиск должен иметь два подпункта: по городу, по фамилии. Подключить к каждому пункту соответствующую программу. Сгенерировать программу меню под именем My Menu.

    4. Открыть файл сгенерированного меню (File/Open) и изучить все команды меню. С помощью опций COLOR и NEGOTIATE LEFT,FONT,STYLE команды определения пункта меню DEFINE PAD измените цветовую комбинацию пункта меню, шрифт и стиль заголовка.

    5. Создать главную программу пользовательского приложения.

    6. Продемонстрировать работу приложения.

4. Отчет

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

Соседние файлы в папке Методички по лабораторным работам