ПР_04 1620 н (Практические занятий по делфи)

2017-07-08СтудИзба

Описание файла

Файл "ПР_04 1620 н" внутри архива находится в папке "Практические занятий по делфи". Документ из архива "Практические занятий по делфи", который расположен в категории "". Всё это находится в предмете "информационные технологии" из 2 семестр, которые можно найти в файловом архиве РТУ МИРЭА. Не смотря на прямую связь этого архива с РТУ МИРЭА, его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информационные технологии" в общих файлах.

Онлайн просмотр документа "ПР_04 1620 н"

Текст из документа "ПР_04 1620 н"

Федеральное агентство по образованию

Государственное образовательное учреждение высшего профессионального образования

«Московский государственный университет приборостроения и информатики»

Кафедра ИТ-6 «Управление и моделирование систем»

Утверждаю

Зав. кафедрой ИТ-6

_____________ /Мацнев А.П./

«____» ____________ 200__ г.

Для преподавателей

специальности 230105

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

практического занятия № 4

1620 Средства визуального программирования

(шифр, наименование учебной дисциплины)

Тема «Проектирование меню и создание справочной системы. »

(наименование темы практического занятия)

Рассмотрено на УМС кафедры ИТ-6

«3» ноября 2006 г.

Протокол УМС № 3

Москва, МГУПИ 2006 г.

Тема практического занятия:

Проектирование меню и создание справочной системы.

(наименование темы практического занятия / раздела дисциплины)

Цели практического занятия:

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

  • Формирование навыков планирования справочной системы.

  • Развить знания и умения студентов в области создания дружественного интерфейса;

Задачи практического занятия:

Воспитательная – развитие познавательного интереса в области создания дружественного интерфейса;

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

Познавательная – расширение кругозора в области взаимодействия человка и ЭВМ.

Продолжительность занятия:

2 часа (90 мин.)

Место проведения:

(учебная аудитория, специализированный класс, лаборатория)

Литература для подготовки:

основная

  1. А. Д. Хомоненко. Базы данных. Учеб. для вузов А. Д. Хомоненко, В. М. Цыганков, М. Г. Мальцев Под ред. А. Д. Хомоненко. - М.: Бином Пресс; СПб.: Корона Принт. 2006г. 736 стр.

  2. Л. В. Рудикова. Базы данных. Разработка приложений для студентов. Л. В. Рудикова Серия: Для студентов. - СПб.: БХВ-Петербург.2006г. 487 стр.

  3. С. П. Кандзюба. Delphi. Базы данных и приложения. С. П. Кандзюба, В. Н. Громов Серия: Лекции и упражнения. - СПб.: DiaSoft UP . 2005 г. 569 стр.

  4. В. В. Фаронов. Программирование баз данных в Delphi 7. В. В. Фаронов. Серия: Учебный курс.- СПб.: Питер. 2006г. 458 стр.

2

дополнительная

  1. С. П. Кандзюба. Delphi. Базы данных и приложения. С. П. Кандзюба, В. Н. Громов Серия: Эффективный самоучитель. - СПб.: DiaSoft UP. 2005 г. 569 стр.

  2. Рэймонд Фрост. Базы данных. Проектирование и разработка. Самоучитель Р. Фрост, Д. Дей, К. В. Слайк Пер. с англ. А. Ю. Кухаренко. Серия: Самоучитель. - М.: НТ Пресс. 2007г. 590 стр.

  3. "Фаронов В.В., Шумаков П.В." Delphi 4. Руководство разработчика баз данных. М. : "Нолидж". 1999 г. 560 с.

  4. Шумаков, П.В.; Фараонов, В.В. Delphi 5. Руководство разработчика баз данных. Издательство: М.: Нолидж. 2001 г. 640 с.

Учебно-материальное обеспечение:

  1. Руководства и пособия:

М. Э. Абрамян Delphi 7 Карманный справочник с примерами

  1. Наглядные материалы, пособия:

-

  1. Технические средства обучения:

Delhi 7, ЭВМ, средство питания

  1. Приложения:

-

(наименования и №№ схем, таблиц, слайдов, диафильмов)

План проведения практического занятия.

  1. Вступительная часть

Продолжительность:

до 5 мин.

  1. Основная часть (учебные вопросы)

Подразделы материала лекции:

до 80 мин.

1-й учебный вопрос:

Проектирование меню

40 мин.

(наименование учебного вопроса, подраздела)

2-й учебный вопрос:

Создание справочной системы

40 мин.

(наименование учебного вопроса, подраздела)

  1. Заключительная часть

Заключение

до 5 мин.

Содержание практического занятия.

  1. Введение

.

Организационный момент:

– проверка наличия студентов по докладу старосты;

– проверка наличия журнала группы, правильности записи темы занятия, отметок об отсутствующих и факта проведения занятия (подпись в журнале);

– проверка готовности и порядка в аудитории, наличия конспектов, учебной литературы, пособий;

Мотивационное начало занятия:

Актуальность темы:

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

Цель и основные задачи практического занятия:

Рассмотреть основы проектирования меню и создания справочной системы.

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

Область создания интерфейса программы.

Особенности изучения студентами материала по рассматриваемой проблеме:

  1. Основная часть

1-й учебный вопрос:

Проектирование меню.

наименование вопроса практического занятия (формулировка задания или задачи)

содержание учебного вопроса, принципов его рассмотрения, решение задания:

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

В Delphi имеется стандартная компонента, входящая в семейство класса TMenu. Она содержит структуру меню в виде объекта класса TMenuItem. Каждый из элементов меню, в свою очередь, также является объектом класса TMenuItem. Все элементы меню в явном виде размещаются в форме и непосредственно доступны через свои идентификаторы. Сделано это для того, чтобы упростить доступ к их обработчикам события ОпСНск и опубликованным свойствам.

Элемент меню класса TMenuItem

Элемент меню может представлять собой либо подменю, либо команду, либо разделительную линию. К какой категории относится конкретный элемент, зависит от его характеристик. Несмотря на это, любой элемент меню принадлежит к одному и тому же классу - TmenuItem, и каждый может рассматриваться как самостоятельное меню.

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

Для того, чтобы элемент меню представлял собой разделительную линию, следует его свойству Caption задать значение «-».

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

Характеристики элемента меню задают его внешний вид и место в структуре меню. Среди его свойств отметим следующие:

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

Caption - свойство типа string, содержащее текст элемента меню. Здесь можно задать клавишу быстрого перехода с помощью символа &, помещаемого перед соответствующим символом текста.

Checked - свойство логического типа, определяющее, является ли элемент меню отмеченным (если имеет значение True, элемент помечается «галочкой»).

Default - свойство логического типа; если оно имеет значение True, текст элемента меню выделяется полужирным шрифтом, а двойное нажатие мышью старшего элемента приводит к появлению у текущего элемента события OnClick. По умолчанию имеет значение False.

Enabled - свойство логического типа; если оно имеет значение True, элемент меню реагирует на события от мыши и клавиатуры (элемент меню разрешен).

GroupIndex - свойство целого типа, содержащее номер группы, к которой принадлежит элемент меню. По умолчанию имеет нулевое значение.

Items [Index] - свойство-массив типа TMenuItem (индекс Index - целого типа), задающее младшие элементы меню по отношению к текущему элементу. Число элементов определяется свойством Count. Нумерация начинается с нуля и используется только для чтения.

MenuIndex - свойство целого типа, содержащее индекс текущей компоненты в списке Items старшей компоненты.

RadioItem - свойство логического типа; если оно имеет значение True, элемент меню выполняет роль переключателя, т.е. помеченным может быть только один элемент одной группы.

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

Visible - свойство логического типа; если оно имеет значение True, элемент меню отображается на экране, если False - нет.

В классе TMenuItem определено одно событие - OnClick.

Класс имеет ряд методов, в основном связанных с корректировкой структур.

Add(Item) - процедура, добавляющая элемент Item (класса TMenuItem) в список младших элементов.

Delete(Index) - процедура, удаляющая из списка младших элементов элемент с индексом Index. При этом элемент из динамической памяти не удаляется и может быть повторно использован.

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

Можно эту операцию осуществить и на стадии выполнения программы, но, сделать это несколько труднее. Для этой цели можно воспользоваться специальными стандартными подпрограммами, позволяющими выполнять различные преобразования (ShortCut, ShortCutToKey, ShortCutToText, TextToShortCut).

Главное меню Main Menu

Обычно главное меню формируется на стадии проектирования. С этой целью следует воспользоваться компонентой Main Menu из страницы Standart палитры компонент, а затем применить свойство Items. При активизации мышью этого свойства открывается конструктор меню (работа с ним будет описана ниже). Характеристики элементов меню задаются с помощью инспектора объектов. При необходимости (например, для создания подменю) используется локальное меню конструктора.

Можно создать меню или отдельные его элементы и на стадии выполнения программы. Для этого нужно использовать следующие стандартные функции: NewItem, NewLine, NewSubMenu, NewMenu.

Локальное меню Popup Menu

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

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

Локальное меню класса TPopupMenu, так же как и главное меню, является потомком класса TMenu. В свою очередь, в классе TPopupMenu вводятся новые характеристики, среди которых отметим следующие свойства:

Alignment - свойство типа TPopupAlignment, которое определяет расположение локального меню относительно курсора мыши.

AutoPopup - свойство логического типа. Если свойство имеет значение True, локальное меню появляется при нажатии правой клавиши мыши, если имеет значение False, меню не появляется (в этом случае следует использовать метод Popup).

ОпРорир - событие, возникающее при выводе локального меню на экран путем нажатия правой клавиши мыши (если свойство AutoPopup имеет значение True) или вызова метода Popup. Это единственное событие, которое обрабатывает локальное меню.

Popup(X, Y) - процедура, выводящая на экран меню, при этом координаты его верхнего левого угла равны X и Y.

На стадии проектирования локальное меню создается так же, как и главное меню. В форме размещается компонента Popup Menu из страницы Standart палитры компонент. Далее активизируется его свойство Items и с помощью конструктора меню набирается структура меню. Завершается создание локального меню привязкой его к конкретному элементу управления (элементам управления) через свойство PopupMenu элемента управления.

Для создания локального меню на стадии выполнения программы можно использовать стандартную функцию NewPopupMenu.

Для формирования открытого массива Items элементов меню здесь также можно воспользоваться стандартными функциями NewItem, NewLine и NewSubMenu.

Конструктор меню

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

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

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

Для удаления любого элемента меню или даже группы элементов следует выполнить команду Delete.

Все изменения главного меню сразу же отражаются на его виде, появляющемся в форме.

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

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

Завершается работа с конструктором меню закрытием его окна.

Пример 1. Создание меню для приложения, работающего с БД «Телефонная книжка»

В данном примере построим главное меню приложения, которое будет содержать такие пункты меню, как Файл, Поиск, Сортировка, со следующими подпунктами соответственно: Печать и Выход, По фамилии и По дате рождения, По номеру и По фамилии. Таким образом, при помощи данного меню можно будет осуществлять поиск по фамилии и по дате рождения, проводить сортировку по номеру записи, а также по фамилии, кроме этого оно дает возможность произвести печать содержимого БД «Телефонная книжка».

Поверхностный анализ задачи проектирования меню проясняет, что таблица People.db должна иметь вторичные индексы в полях IDPeople, Family и Birthday для осуществления поиска и сортировки по этим полям.

  1. Откроем DataBase Desktop 7.0 и создадим необходимые нам вторичные индексы по полям Family, Birthday и IDPeople, назвав их FamilyIndex, BirthdayIndex и Number соответственно.

  2. Теперь войдем в среду Delphi 3.0 для того, чтобы начать работу по созданию меню.

  3. Вызовим заготовку проекта, созданную в лаб./раб. № 2. Сразу же сохраним все составные части проекта в файлах с теми же именами, что и прежние, но с добавлением цифры 7: MyExampleDB7.dpr, MyExUnitDB7.pas. 4.Подготовим форму для размещения на ней меню. Для этого выполним следующее:

  1. Сдвинем все имеющиеся в форме компоненты немного вниз, освободив тем самым место под главное меню (при необходимости нужно увеличить размер формы по вертикали). Изменим свойство Color (Цвет) формы на clTeal (или любой другой цвет) для того, чтобы меню выделялось на экране, привлекая внимание пользователя.

  2. Создадим кнопку Выход для завершения работы приложения, разместив ее справа от компоненты DBGrid1 (подобная кнопка создавалась в лаб./раб. № 3 и лаб./раб. № 4).

5. Сформируем общий вид главного меню. Для этого выполним следующие действия:

5.1. Со страницы Standart палитры компонент поместим на форму Form1 компоненту MainMenu в правый нижний угол формы.

5.2. Активизируем у компоненты MainMenu1 свойство Items (Компоненты), в результате чего откроется окно конструктора меню. Зададим свойству Caption пустого прямоугольника значение Файл, а свойству Name этого же элемента меню значение File_pt.

  1. У появившегося пустого прямоугольника, который соответствует первому элементу подменю Файл, свойство Caption изменим на Печать, а свойство Name - на Print_pt. У следующего элемента подменю свойству Caption зададим значение «-» - это будет разделительная линия. Наконец, у следующего и последнего элемента этого же подменю свойству Caption зададим значение Выход, а свойству Name - Exit_pt.

  2. У следующего элемента главного меню (пустой прямоугольник справа от элемента меню Файл) свойству Caption зададим значение Поиск, а свойству Name - Search-pt. Подпункты элемента меню Поиск - По фамилии, По дате рождения - создадим аналогично элементам Печать и Выход (их свойствам Name зададим значения Family1_pt и Date_pt соответственно).

5.5. Аналогичным образом создадим элемент меню Сортировка, который включает в себя пункты По номеру (свойство Name - Number_pt) и По фамилии (свойство Name - Family2_pt).

5.6. Закроем конструктор меню. Отметим, что на форме Form1 уже отображено создаваемое меню, и следующим шагом будет обеспечение работы всех пунктов данного меню.

6. При выборе пункта меню Печать будет выводиться в режиме предварительного просмотра отчет, созданный в лаб./раб. № 3, т.е. список людей с имеющимися у них телефонами. Для того чтобы этот пункт меню стал рабочим, необходимо выполнить следующие действия:

6.1. Добавим в проект файл MyUnitReport2.pas из лаб./раб. № 3 и сохраним его под именем MyUnitReport.pas. В тексте модуля формы Form2 (форма с отчетом) изменим раздел объявления используемых модулей в секции implementation

USESMyExUnitDB3;

на раздел

USES MyExUnitDB7;

6.2. В тексте модуля формы Form1 в секции implementation напишем следующую строчку для связи данной формы с формой Form2:

USES MyUnitReport;

6.3. В форме Form1 активизируем пункт меню Печать и в появившемся обработчике события ОпСНск введем оператор, задающий отображение отчета в режиме предварительного просмотра:

procedure TForm1.Print-ptClick (Sender: TObject); begin

Form2.QuickRep1 .Preview; end;

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

procedure TForm1.Exit-ptClick (Sender: TObject); begin

Close; end;

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

8.1. Добавим в проект новую форму. Изменим размер формы, уменьшив ее значительно по вертикали и слегка увеличив по горизонтали (в результате должен получиться узкий прямоугольник). Изменим также свойство Caption формы на «Поиск по фамилии». Сохраним форму в файле Search7.pas.

8.2. Со страницы Standart поместим на форму, в ее верхнюю часть, компоненту Label. Изменим ее свойство Caption на «Введите фамилию искомого человека», а через сложное свойство Font изменим шрифт на полужирный.

  1. Справа от компоненты Label 1 поместим на форму со страницы Standart компоненту Edit и увеличим ее горизонтальный размер на оставшуюся часть формы (размер этой компоненты должен быть достаточным для ввода фамилии с максимально возможной длиной). Свойство Text этой компоненты сделаем пустым.

  2. Ниже, под компонентами Label1 и Edit1, приблизительно в центре формы поместим две кнопки BitBtn со страницы Additional палитры компонент. Активизируем первую кнопку и изменим следующие ее свойства: Caption на ОК, Kind на bkOK, ModalResult на mrOK и Name на OKBtn. В результате мы получим стандартную кнопку ОК. Теперь активизируем вторую кнопку и изменим ее свойства следующим образом: Caption на Отмена, Kind на bkCancel, ModalResult на mrCancel и Name на CancelBtn, т.е. создадим стандартную кнопку Cancel.

  3. Добавим в проект еще одну новую форму. Сохраним ее в файле Search7-1.pas. Зададим ее свойству Caption значение «Поиск по дате рождения». Придадим форме вид, аналогичный виду формы Form3, со следующими изменениями: свойство Caption компоненты Label1 будет иметь значение «Введите дату рождения человека», и под ней будет размещена еще одна компонента Label со свойством Caption равным «дата вводится через точку».

  4. Установим связь формы Form1 с формами Form3 и Form4, дописав имеющуюся в форме Form1, в секции implementation строку следующим образом:

USES MyUnitReport, Search7, Search7-1;

9. Для обеспечения работы с пунктом По фамилии подменю Поиск активизируем данный пункт меню и в появившемся обработчике события ОпСНск введем следующие строки: procedure TForm1.Family 1-ptClick (Sender: TObject); begin

IF Form3.ShowModal = mrCancel THEN Exit;

Form1.Table1.IndexName := 'FamilyIndex';

Form1 .Table 1 .SetKey;

Form1 .Table1.FieldByName('Family').AsString := Form3.Edit1.Text;

Form1 .Table 1 .GotoNearest; end;

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

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

10. Для обеспечения работы с пунктом меню «По дате рождения» необходимо проделать действия, аналогичные выполненным. Обработчик события ОпСНск будет иметь следующий вид:

procedure TForm1.Date-ptClick (Sender: TObject); begin

IF Form4.ShowModal = mrCancel THEN Exit;

Form1.Table1.IndexName := 'BirthdayIndex';

Form1.Table 1. SetKey;

Form1 .Table1.FieldByName('Birthday').AsString := Form4.Edit1.Text;

Form1 .Table 1 .GotoNearest; end;

11. Активизируем теперь пункт меню По номеру подменю Сортировка и в появившемся обработчике события ОпСНск введем следующие строки:

procedure TForm1.Number-ptClick (Sender: TObject); begin

Form1 .Table 1.IndexName := 'Number';

Form1 .Table1.SetKey;

Form1 .Table1 .GotoNearest; end;

12. Определим действия, выполняемые пунктом меню По фамилии подменю Сортировка, активизируя данный пункт меню и в появившемся обработчике события ОпСНск запишем следующий код:

procedure TForm1.Family2-ptClick (Sender: TObject); begin

Form1 .Table 1.IndexName := 'FamilyIndex'; Form1 .Table1 .SetKey;

Form1. Table1.FieldByName('Family').AsString := 'A'; Form1 .Table1 .GotoNearest; end;

Во избежание возможности появления пустых записей в начале таблицы после сортировки по фамилии производится поиск записи, поле Family которой является ближайшим для согласования со строкой «A».

13. Запустим программу командой Run|Run и убедимся в правильности работы созданного меню.

14. Закроем приложение либо кнопкой Выход, либо командой главного меню Файл|Выход.

15. Сохраним все изменения в проекте.

2-й учебный вопрос:

Создание справочной системы.

наименование вопроса практического занятия (формулировка задания или задачи)

содержание учебного вопроса, принципов его рассмотрения, решение задания:

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

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

•планирования справочной системы;

•создания текстового файла в формате RTF (Rich Text Format);

•создания содержания справочной системы (при необходимости);

•создания файла описания проекта;

•компиляции файла справочной системы;

•подключения справочной системы к приложению, определение контекстно-зависимой подсказки.

Поиск и выбор статей справочной системы программы, их отображение обеспечивают стандартные средства Windows 95, реализованные в программе Winhlp32 в файле Winhlp32.exe.

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

Пример 1. Создание текстового файла для справочной системы приложения, работающего с БД «Телефонная книжка»

В качестве инструмента будем использовать текстовый редактор Word for Windows 95.

Проверим, будет ли скрытый текст отображаться на этапе набора текста. Для этого нужно задать команду меню Tools|Options (Сервис|Параметры), после чего в окне Options (Параметры) выбрать закладку View (Вид) и в открывшейся странице у группы Nonprinting Characters (Непечатаемые символы) установить выключатель HiddenText (Скрытый текст). После чего нажать кнопку ОК.

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

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

При запуске программы появляется основное окно Main Win (главная форма) с именем «Информация о людях», большую часть которой занимают элементы отображения информации из БДView.

Различные возможности по работе с информацией предоставляют навигаторыNavigator и менюMenu.

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

Выделим фрагменты текста с двойным подчеркиванием синим цветом, для чего в строке ввода со списком Color (Цвет) выберем синий цвет. Нажмем кнопку ОК.

3. Определим уникальный идентификатор раздела. Для этого установим курсор перед первым словом раздела Назначение, и зададим команду меню Insert|Footnote (Вставка|Сноска). После этого в появившемся окне Footnote and Endnote (Сноски) в группе Insert (Вставить сноску) установим переключатель Footnote (Обычную). Затем в группе Numbering (Нумерация) установим переключатель Custom Mark (Другая), в строке ввода рядом с ним введем символ # и нажмем кнопку ОК. В результате перед первым предложением строки появится изображение # в виде надстрочного индекса (оформление сноски), такой же символ появится внизу страницы. Внизу страницы рядом с символом сноски нужно ввести уникальный идентификатор раздела MainTopic.

Определим заголовок данного раздела, с которым он будет отображаться в окне результатов поиска. Для этого произведем те же действия, что и в п.2, за исключением того, что символ, помещаемый в строку ввода рядом с переключателем Custom Mark (Другая) в окне Footnote and Endnote (Сноски), - $, а текст внизу страницы рядом с символом сноски - Назначение, состав и возможности.

Определим ключевые слова для данного раздела, по которым можно будет его найти. Для этого произведем те же действия, что и в п.3, за исключением того, что символом сноски будет символ K (латинская), а текст внизу страницы рядом с символом сноски - о программе; назначение; состав; возможности.

Поместим созданный раздел на отдельную страницу. Для этого разместим курсор за последним словом в разделе и зададим команду меню Insert|Break (Вставка|Разрыв). Затем в появившемся окне выберем переключатель Page Break (Новую страницу) и нажмем кнопку ОК.

7. Наберем на новой странице текст справочной системы, посвященного описанию основного окна с именем «Информация о людях».

Основное окно

В данном окне производится большая часть работы с информацией из БД, и

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

отображенияView. А имеющиеся элементы управления, такие как

навигаторыNavigator и менюMenu, обеспечивают взаимодействие и работу с

информацией о людях, хранящейся в БД, а также завершение работыClose с

приложением.

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

текста аналогично описанному в п.2.

8. Действуя аналогично пп.3-5, установим уникальный идентификатор раздела Main Win, заголовок раздела «Основное окно», ключевые слова - основное окно;главное окно;главная форма;основная форма;информация о людях.

9. Поместим созданный раздел на отдельную страницу, выполнив такие же действия, как в п.5.

10. Наберем текст раздела справочной системы, посвященного описанию элементов отображения информации в целом:

Элементы отображения информации

Вся информация, содержащаяся в записной книжке, разбита в БД на две таблицы: People.db - данные о человеке, Tel.db - данные о телефонах человека, в результате чего для ее отображения используется два вида элементов: строки вводаEdit, и таблицаGrid.

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

11. Действуя аналогично пп.3-5, установим уникальный идентификатор раздела View, заголовок раздела Элементы отображения информации, ключевые слова - элементы отображения информации;строки ввода;таблица.

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

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

Строки ввода

Данные элементы отображенияView предназначены для ввода/вывода и редактирования данных о человеке Имеются следующие строки ввода:

Строка ввода порядкового номера: информация данного типа отображается в виде: Порядковый номер: 012; а вводится в виде: 12.

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

Строка ввода имени: аналогична строке ввода фамилии.

Строка ввода отчества: аналогична строке ввода фамилии.

Строка ввода даты рождения: информация данного типа отображается в следующем виде: 15 Апрель 1979 г.; а ввод данных производится в формате:15.04.1979 или 15.04.79.

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

Строка ввода комментариев: используется для ввода/вывода дополнительной информации в виде строки достаточно большой длины.

Строки ввода фамилии и даты рождения используются также при поиске по фамилии SeekFamily и при поиске по дате рождения SeekDate для ввода искомого значения.

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

14. Действуя аналогично пп.3-5, установим уникальный идентификатор раздела Edit, заголовок раздела «Строки ввода», ключевые слова - строки ввода; поиск; отображение информации; элементы отображения.

Дополнительно определим номер в последовательности просмотра разделов, описывающих элементы отображения информации. Для этого произведем такие же действия, которые описаны в п.3, за исключением того, что символ, помещаемый в строке ввода рядом с переключателем Custom Mark (Другая) в окне Footnote and Endnote (Сноски), -«+», а текст в нижнем окне рядом с текстом сноски View:005.

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

Наберем текст раздела справочной системы, описывающий таблицу: Таблица.

Данный элемент отображенияView предназначен для ввода/вывода и

редактирования данных о телефонах человека. Таблица состоит из двух

столбцов: Номер и Тип. Номер отображается и вводится в виде 232-00-00.

Тип телефона вводится при помощи выпадающего списка допустимых

значений.

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

текста аналогично описанному в п.2.

Действуя по аналогии, установим уникальный идентификатор раздела - Grid, заголовок раздела Таблица, ключевые слова - таблица;отображение информации;элементы отображения, номер в последовательности просмотра View:010.

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

19. Составим и оформим раздел справочной системы, описывающий навигаторы, присвоив ему уникальный идентификатор Navigator, заголовок раздела Навигаторы, ключевые слова - элементы управления;навигатор;навигаторы. Этот раздел содержит следующий текст: Навигаторы.

В основном окнеMainWin расположены два навигатора, каждый из которых

включает в себя следующие кнопки (слева на право, по порядку):

First record - переход к первой записи;

Prior record - переход к предыдущей записи;

Next record - переход к следующей записи;

Last record - переход к последней записи;

Insert record - вставить новую запись;

Delete record - удалить текущую запись;

Edit record - редактировать текущую запись;

Post edit - сохранить изменения в текущей записи;

Cancel edit - отменить изменения в текущей записи;

Refresh data - обновление данных в текущей записи.

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

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

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

20. Составим и оформим раздел справочной системы, описывающий меню, присвоив ему уникальный идентификатор Menu, заголовок раздела - Меню, ключевые слова - элементы управления;меню. Этот раздел содержит следующий текст:

Меню.

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

П оискSeek для поиска информации.

СортировкаSort для сортировки и упорядочивания информации по определенному признаку.

21. Составим и оформим раздел справочной системы, описывающий завершение работы с программой, присвоив ему уникальный идентификатор Close, заголовок раздела - Завершение работы, ключевые слова - закрытие формы; кнопка. Раздел содержит следующий текст:

Завершение работы

Завершить работу с электронной записной книжкой можно двумя способами: нажав кнопку Выход в основном окнеMainWin программы или выбрав команду меню Файл|ВыходFile.

22. Составим и оформим раздел справочной системы, описывающий пункт меню Файл, присвоив ему уникальный идентификатор - File, заголовок раздела - Пункт меню «Файл», ключевые слова - меню; файл; пункт меню Файл; печать; выход, номер в последовательности просмотра - Menu:005. Раздел содержит следующий текст:

Пункт меню «Файл».

Данный пункт меню Menu содержит следующие подпункты:

Печать Print.

Выход Close.

23. Составим и оформим раздел справочной системы, описывающий подпункт меню «Печать», присвоив ему уникальный идентификатор - Print, заголовок раздела - Печать, ключевые слова - печать; меню; файл; пункт меню печать. Раздел содержит следующий текст:

Печать.

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

На верхней панели окна расположены следующие кнопки управления (слева направо):

Zoom to fit - разместить страницу отчета полностью на экране;Zoom to 100% - отобразить страницу отчета так же, как она будет напечатана;

Zoom to page width - разместить страницу, чтобы максимально отобразить ее ширину на экране;

First Page - отобразить первую страницу отчета; Previous Page - отобразить предыдущую страницу отчета; Next Page - отобразить следующую страницу отчета; Last Page - отобразить последнюю страницу отчета; Printer Setup - определить параметры принтера в стандартном окне; Print - напечатать отчет;

Save - сохранить отчет в файле с расширением .qrp; Load - загрузить отчет из файла с расширением .qrp; Close - закрыть стандартную форму для предварительного просмотра. 24. Составим и оформим раздел справочной системы, описывающий пункт меню Поиск, присвоив ему уникальный идентификатор - Seek, заголовок раздела - Пункт меню «Поиск», ключевые слова - меню;поиск;пункт меню Поиск;поиск по фамилии ;поиск по дате рождения, номер в последовательности просмотра - Menu:010. Раздел содержит следующий текст:

Пункт меню «Поиск».

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

25. Составим и оформим раздел справочной системы, описывающий поиск по фамилии человека, присвоив ему уникальный идентификатор - SeekFamily, заголовок раздела - Поиск по фамилии, ключевые слова - меню; поиск; пункт меню Поиск;поиск по фамилии. Раздел содержит следующий текст:

Поиск по фамилии человека.

При выборе команды менюMenu Поиск|По фамилии появляется вспомогательное диалоговое окно с именем «Поиск по фамилии», в котором необходимо ввести искомую фамилию в имеющуюся в окне строку ввода.

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

Результат поиска отображается в основном окнеMainWin через имеющиеся в нем средства отображения View информации.

Работа заканчивается при нажатии одной из кнопок управления:

OKButtonOK или ОтменаButtonCancel.

См. также Строки вводаEdit

26. Составим и оформим раздел справочной системы, описывающий поиск по дате рождения человека, присвоив ему уникальный идентификатор - SeekDate, заголовок раздела - Поиск по дате рождения, ключевые слова - меню;поиск;пункт меню Поиск;поиск по дате рождения, и который содержит следующий текст:

Поиск по дате рождения человека.

При выборе команды менюMenu Поиск|По дате рождения появляется вспомогательное диалоговое окно с именем «Поиск по дате рождения», в котором необходимо ввести искомую дату рождения в имеющуюся в окне строку ввода.

Результат поиска отображается в основном окнеMainWin через имеющиеся в нем средства отображения View информации.

Работа заканчивается при нажати одной из кнопок управления: OKButtonOK или ОтменаButtonCancel.

См. также Строки вводаEdit.

27. Составим и оформим раздел справочной системы, описывающий кнопку OK, присвоив ему уникальный идентификатор - ButtonOK, заголовок раздела - Кнопка ОК, ключевые слова - меню;поиск;кнопки управления. Раздел содержит следующий текст:

Кнопка OK.

Данная кнопка используется для подтверждения начала поискаSeek. При ее нажатии диалоговое окно закрывается и осуществляется поиск по заданному признаку.

28. Составим и оформим раздел справочной системы, описывающий кнопку Отмена, присвоив ему уникальный идентификатор - ButtonCancel, заголовок раздела - Кнопка Отмена, ключевые слова - меню;поиск;кнопки управления. Раздел содержит следующий текст:

Кнопка Отмена.

Данная кнопка позволяет отменить операцию поиска Seek. При ее нажатии диалоговое окно закрывается, а поиск не производится.

29. Составим и оформим раздел справочной системы, описывающий пункт меню «Сортировка», присвоив ему уникальный идентификатор - Sort, заголовок раздела - Пункт меню Сортировка, ключевые слова - меню; сортировка; пункт меню Сортировка; сортировка по фамилиям; сортировка по номеру, номер в последовательности просмотра - Menu:020. Раздел содержит следующий текст:

Пункт меню «Сортировка».

Данный пункт меню Menu предоставляет возможность упорядочивания информации по какому-либо признаку, в частности, по номеру детали SortNDetal и по фамилиям SortFamily людей в алфавитном порядке. 30. Составим и оформим раздел справочной системы, описывающий сортировку по номеру записи, присвоив ему уникальный идентификатор -SortNDetal, заголовок раздела - «Сортировка по номеру записи», ключевые слова - меню;сортировка;пункт меню Сортировка;сортировка по номеру. Раздел содержит следующий текст: Сортировка по номеру записи.

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

31. Составим и оформим раздел справочной системы, описывающий сортировку по фамилиям, присвоив ему уникальный идентификатор - SortFamily, заголовок раздела - «Сортировка по фамилиям», ключевые слова -меню;сортировка;пункт меню Сортировка;сортировка по фамилиям. Раздел содержит следующий текст:

Сортировка по фамилиям.

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

32. Сохраним созданный документ для дальнейшего использования при формировании справочного файла под именем Help.rtf.

Пример 2. Создание содержания справочной системы для приложения, работающего с БД «Телефонная книжка»

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

Инструментом для создания файла содержания справочной системы является утилита Microsoft Help Workshop. Она входит в состав пакета Delphi Standard 3.0 и содержит редактор файла описания проекта справочной системы. При установке пакета утилита помещается в папку …\Delphi 3\Help\Tools. Чтобы запустить ее, нужно запустить файл hcw.exe, находящийся в этой папке.

Откроем редактор содержания справочной системы и выполним команду меню File|New. В появившемся окне New выберем из списка действий значение Help Contents и нажмем кнопку ОК. После этого будет открыто главное окно редактора файла содержания справочной системы.

Зададим имя справочного файла, используемое по умолчанию. Для этого нажмем кнопку Edit в верхней части главного окна редактора файла содержания. В появившемся окне Default Help Information в строке ввода Default Help filename запишем путь и имя файла Help.hlp, после чего нажмем кнопку ОК. В главном окне редактора файла содержания в строке Default filename (and window) отобразится введенное значение.

Зададим заголовок, который будет у основного окна программы Winhlp32. Для этого снова нажмем кнопку Edit и в появившемся окне Default Help Information в строке ввода Default Title запишем текст - «Справочная система телефонной книжки», после чего нажмем кнопку ОК. В главном окне редактора файла содержания в строке Default title отобразится введенное значение.

Создадим элемент содержания - тему «О программе». Для этого нажмем кнопку Add Above. В появившемся окне Edit Contents Tab Entry выберем переключатель Heading. Затем введем в строку Title (она окажется единственной доступной строкой ввода) текст «О программе» и нажмем кнопку ОК.

5. Создадим элемент содержания - раздел «Назначение, состав и возможности». Для этого нажмем кнопку Add Below. В появившемся окне Edit Contents Tab Entry выберем переключатель Topic. Затем введем в строку Title текст «Назначение, состав и возможности», в строку Topic Ш - текст «MainTopic» и нажмем кнопку ОК.

6. Аналогично п.4 создадим элемент содержания - тему «Основные элементы программы». Отличием будет то, что в строке ввода Title нужно будет ввести текст «Основные элементы программы».

7. Аналогично п.4 создадим элемент содержания - тему «Элементы отображения информации». Отличием будет то, что мы сдвинем его вправо кнопкой Move Right, т.к. это будет следующей ступенью иерархии (более глубокий уровень).

Аналогично п.5 создадим элемент содержания - раздел «Строки ввода» (Topic ID = Edit), который будет принадлежать теме «Элементы отображения информации».

Аналогичным образом создадим элемент содержания - раздел «Таблица» этой же темы (Topic ID = Grid).

Создадим следующий элемент содержания - тема «Меню», которая будет того же уровня иерархии, что и тема «Элементы отображения информации», для этого после ее создания нажмем кнопку Move Left, чтобы приблизить этот элемент к вершине иерархии.

Создадим элементы содержания - разделы «Пункт меню Файл», «Пункт меню Поиск» и «Пункт меню Сортировка» с идентификаторами (Topic ID) File, Seek и Sort соответственно, причем они будут входить в тему Меню.

12. Создадим последовательно следующие разделы содержания - Навигаторы (Topic Ш = Navigator) и Завершение работы (Topic ID = Close), которые будут входить в тему «Основные элементы программы», для чего воспользуемся кнопкой Move Left.

13. Сохраним файл содержания под именем Help.cnt.

Пример 3.Создание файла описания проекта справочной системы приложения, работающего с БД «Телефонная книжка», и его компиляция

Создаваемый справочный файл основывается на сформированном текстовом файле. Кроме него подключим к справочной системе содержание. Мы воспользуемся по возможности стандартными настройками, установленными для создания справочной системы, поэтому большая часть параметров в фале описания проекта останется неизменной. 1. Откроем редактор файла описания проекта. Для этого запустим утилиту Microsoft Help Workshop. Затем зададим команду меню File|New. В появившемся окне New нужно выбрать из списка действий значение Help Project и нажать кнопку ОК. В стандартном окне для сохранения файла выберем папку и введем имя Help (расширение .hpj). После этого будет открыто главное окно редактора файла описания проекта справочной системы. В формируемом тексте описания проекта уже присутствую следующие строки:

[Option]

LCID=0x419 0x0 0x0 ;Russian

REPORT=Yes

Параметр LCID определяет язык сортировки, а параметр REPORT – вывод сообщений об ошибках в процессе компиляции справочного файла.

Определим текстовый файл в формате RTF, на основе которого будет создан справочный файл. Для этого требуется нажать кнопку Files главного окна редактора файла описания проекта и в окне Topic Files нажать кнопку Add, затем в стандартном окне открытия файла следует выбрать папку, а в ней выбрать файл Help.rtf и нажать кнопку Open. После этого в окне Topic Files появится значение \Help.rtf. Нажав кнопку ОК в окне Topic Files, закроем его и перейдем в главное окно редактора файла содержания проекта. Отметим, что в этом окне в тексте файла описания проекта появится секция [Files] с именем выбранного файла.

Определим файл с содержанием для включения его в создаваемую справочную систему. Для этого требуется нажать кнопку Options главного окна редактора файла описания проекта и в окне Options выбрать закладку Files. Заметим, что в строке Rich Text Format (RTF) files будет находится имя только что выбранного текстового файла в формате RTF. Долее следует нажать кнопку Browse рядом со строкой Contents file и в появившемся стандартном окне открытия файла выбрать папку, а в ней файл Help.cnt. Нажав кнопку Open, закроем его и перейдем в окно Options, где в строке ввода Contents file появится информация .\Help.cnt. Чтобы добавить выбранный файл содержания в файл описания проекта, нужно нажать кнопку ОК. В результате в основном окне редактора файла описания проекта в формируемом тексте появится значение в секции [Option]:

CNT=.\Help.cnt.

4. Установим в соответствие идентификаторам разделов числовые значения. Для этого требуется нажать кнопку Map. В появившемся окне Map нужно нажать кнопку Add, а затем в окне Add Map Entry в строке Topic Ш ввести MainTopic, в строке Mapped numbering value - 1. Затем следует нажать кнопку ОК. В результате в списке значений в окне Map появится строка

MainTopic=1

При желании можно ввести комментарии в строке Comment окна Add Map Entry.

Аналогично введем с помощью формы Add Map Entry соответствие числовых значений другим строковым идентификаторам, добавляя к формируемому списку соответствий новые (в строку Mapped numbering value вводятся № соответствующих страниц в *.rtf-файле). После задания всех соответствий нужно нажать кнопку ОК в окне Map. В результате в главном окне редактора файла описания проекта в формируемом тексте появится секция [Map] с только что введенным содержимым.

5. Установим возможность использования последовательности просмотра при работе со справочной системой, т.е. отображение кнопок « и >>. Для этого нажмем кнопку Config в главном окне. В появившемся окне Configuration macros следует нажать кнопку Add и в окне Add Macro в строке ввода Macro ввести название макрокоманды BrowseButtons(), а затем нажать кнопку ОК. В окне Configuration macros нажать кнопку ОК. В результате в главном окне редактора файла описания проекта в формируемом тексте появится секция [Config] со следующим содержимым: BrowseButtons()

6. Установим шрифты, которые будут использоваться в справочной системе, для того, чтобы не возникла проблема с чтением справочной информации. Для этого нажмем кнопку Options в главном окне, затем выберем закладку Fonts (Шрифты). Определим набор символов шрифта в комбинированной строке Character Set (Множество символов) - RUSSIAN. Далее определим шрифт, используемый в основном окне программы Winhlp32, для чего нажмем кнопку Change (Изменить) напротив строки ввода Font in Winhelp Dialog Boxes (Шрифт окон Winhlp), затем в появившемся окне Font (Шрифт) в комбинированной строке Font выберем шрифт MS Sans Serif, в строке Point size (Размер в поинтах) определим размер шрифта - 8, а в комбинированной строке ввода Character Set выберем значение RUSSIAN и нажмем кнопку ОК.

Теперь определим замену одного шрифта другим, для чего нажмем кнопку Add, находящуюся напротив списка Substitute these fonts in help topics (Заменит эти шрифты в справочных разделах). В появившемся окне Edit/Add font Mapping (Редактирование/Добавление шрифтов) группу Original Font (Исходный шрифт) оставим без изменений, т.е. будем заменять все типы шрифтов всех наборов символов, а в группе Replacement font (Заменяющий шрифт) в комбинированной строке Font выберем шрифт MS Sans Serif -стандартный шрифт Windows и нажмем кнопку ОК. Закроем окно Options кнопкой ОК. В результате в секции [Option] файла описания проекта появится строка: DEFFONT = MS Sans Serif, 8, 204

Еще в тексте файла описания проекта появится секция [Fonts], содержащая следующее:

=MS Sans Serif

7. Чтобы откомпилировать полученный файл, следует нажать расположенную в нижней части главного окна кнопку Save and Compile. В результате окно утилиты Help Workshop минимизируется, а затем появится в первоначальном размере с результатами компиляции.

Подключение к проекту созданного справочного файла.

1. Откроем проект, созданный в Лаб./раб. 5, MyExampleDB7.dpr.

2. Откроем модуль MyExampleDB7.dpr. Для этого нужно задать команду главного меню Project|View Source. В появившемся окне текстового редактора в тексте программы после строки

Application.Initialize;

для подключения справочного файла к проекту требуется вставить строку

Application.HelpFile := '<путь к файлу>\Help.hlp';

3. С помощью инспектора объектов зададим свойству HelpContext (Контекстная помощь) формы значение 2.

4. В форме выделим строку ввода, отображающую значение поля из БД, DBEdit1 и с помощью инспектора объектов зададим свойству HelpContext значение

5. Аналогичным образом установим свойство HelpContext у всех компонент формы Form1 (значение должно быть равно идентификатору соответствующего раздела справочной системы)

6. Теперь перейдем к форме Form3 и установим ее свойство HelpContext в значение 12, а это же свойство находящихся на ней компонент Edit1, OKBtn и CancelBtn в значения 4, 14 и 15 соответственно.

7. Перейдем к форме Form4 и установим ее свойство HelpContext равным 13, а свойство HelpContext ее компонент Edit1, OKBtn и CancelBtn равным 4, 14 и 15 соответственно.

8. Перейдем снова к форме Form1 и поместим на нее, над кнопкой Выход, компоненту BitBtn со страницы Additional палитры компонент. Установим ее свойство Caption в значении Помощь. Далее установим ее свойство Kind в значении bkHelp, свойству DragCursor зададим значение crHelp, свойству Layout - blGlyphRight (рисунок будет находиться справа от текста на кнопке), свойству HelpContext - значение 1, чтобы при нажатии на эту кнопку появлялась помощь, а точнее - раздел «Назначение, состав и возможности». Сохраним все изменения в проекте.

  1. Заключение

Подведение итогов занятия

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

Форма отчетности о проведении практического занятия

Отчет в электронном виде.

(письменный отчет – форма отчета в приложении; не предусмотрено; иное)

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

Задание по учебному вопросу № 1:

1. Используя приложение, созданное в практическом занятии № 2, спроектируйте создайте главное меню, предоставляющее следующие возможности (состав и структуру меню и его подменю определить самостоятельно):

  1. Завершение работы.

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

А также:

Вариант 1.

  1. Поиск поставщика по фамилии.

  2. Поиск детали по номеру

  3. Сортировка записей по фамилиям поставщика.

  4. Сортировка по номерам деталей.

  5. Вывод списка деталей одного и того же цвета (цвет задается пользователем).

6. Вывод списка деталей одного и того же веса (вес задается пользователем).

Вариант 2.

  1. Поиск участника по фамилии.

  2. Поиск участника по фамилии тренера.

  3. Поиск участника по городу.

  4. Сортировка по городам.

  5. Сортировка по фамилиям участников.

  6. Вывод списка участников, приехавших из одного города (название города задается пользователем).

Вариант 3.

  1. Поиск студента по фамилии.

  2. Сортировка по номерам групп.

  3. Сортировка по фамилиям студентов.

  4. Вывод списка заданий по одной и той же дисциплине (дисциплина задается пользователем).

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

  6. Вывод списка студентов с их данными, выполнившими хотя бы одно задание.

Вариант 4.

1. Поиск по должности.

2. Поиск по фамилии.

3. Поиск по дате поступления на работу.

4. Сортировка по названиям должностей.

5. Сортировка по стажу работника.

6. Вывод максимальной заработной платы.

Вариант 5.

Поиск по фамилии.

  1. Поиск по типу изделия.

  2. Сортировка по названиям цехов.

  3. Сортировка по типам изделий.

  4. Вывод фамилии рабочего, изготовившего за неделю наибольшее количество деталей.

  5. Вывод списка изделий, имеющих одну и ту же стоимость (стоимость задается пользователем).

Вариант 6.

1. Поиск изделий по категориям.

2. Поиск по фамилии.

3. Сортировка по названиям цехов.

4. Сортировка по фамилиям.

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

6. Вывод фамилии рабочего, собравшего наибольшее количество изделий по всем категориям.

Вариант 7.

  1. Поиск телефона по номеру.

  2. Поиск по фамилии.

  3. Сортировка по годам установки телефонов.

  4. Сортировка по номерам телефонов.

  5. Вывод списка абонентов, имеющих спаренный телефон.

  6. Вывод списка льготных номеров телефонов и их владельцев.

Вариант 8.

  1. Поиск игрушки по ее названию.

  2. Поиск игрушки по названию фабрики.

  3. Сортировка по цене игрушек.

  4. Сортировка по количеству игрушек.

  5. Вывод списка игрушек, сгруппированных по возрастным категориям, с данными об изготовителе.

  6. Вывод названия самой дорогой игрушки.

Вариант 9.

1. Поиск по фамилии.

2. Сортировка по индексу групп.

3. Сортировка по фамилиям.

4. Вывод списка студентов, имеющих собственную семью.

5. Вывод списка студентов, не сдавших сессию (более двух неудовлетворительных оценок).

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

Вариант 10.

  1. Поиск спортсмена по фамилии.

  2. Поиск спортсмена по названиям стран.

  3. Сортировка по фамилии спортсмена.

  4. Сортировка по названиям стран.

  5. Вывод списка спортсменов из одной страны (задается пользователем).

6. Вывод списка спортсменов, тренирующихся у одного тренера.

Вариант 11.

1. Поиск рейса по пункту назначения.

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

3. Сортировка по номерам рейсов.

4. Сортировка по пунктам назначения.

5. Вывод номеров и времени вылета тех рейсов, у которых один и тот же пункт назначения (пункт назначения задается пользователем).

6. Вывод номеров рейсов, имеющих свободные места.

Вариант 12.

1. Поиск обуви по названию.

2. Поиск обуви по размеру.

3. Поиск обуви по названию фабрики.

4. Сортировка по названиям обуви.

5. Сортировка по размерам обуви.

6. Вывод списка обуви (наименование и артикул), сгруппированной по размерам.

Вариант 13.

1. Поиск по фамилии.

2. Поиск по дате приема в команду.

3. Сортировка по фамилиям.

4. Сортировка по количеству сыгранных матчей.

5. Вывод фамилии нападающего, сыгравшего максимальное количество матчей.

6. Вывод списка нападающих в одной и той же команде (название команды задается пользователем).

Вариант 14.

1. Поиск по фамилии.

2. Поиск по номеру зачетной книжки.

3. Сортировка по фамилиям.

4. Сортировка по среднему баллу успеваемости.

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

6. Вывод списка студентов, проживающих в общежитии, с индексами их групп.

Вариант 15.

  1. Поиск по дате перечисления.

  2. Поиск по названию организации-получателя.

  3. Сортировка по дате перечисления.

  4. Сортировка по видам затрат перечислений.

  5. Вывод списка организаций-получателей с их адресами по заданному пользователем признаку (коммерческие или нет).

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

Вариант 16.

1. Поиск товара по именованию.

2. Поиск по дате поступления.

3. Поиск по № партии.

4. Сортировка по названиям товаров.

5. Сортировка по стоимости поступивших товаров.

6. Вывод списка фирм-покупателей, купивших какой-либо товар (товар задается пользователем).

Вариант 17.

  1. Поиск лекарства по его наименованию.

  2. Поиск лекарства по названию фабрики.

  3. Сортировка по наименованиям лекарств.

  4. Сортировка по дате изготовления.

  5. Вывод списка лекарств, производимых на какой-либо фабрике.

  6. Вывод самого дорогого лекарства.

Вариант 18.

  1. Поиск по фамилии.

  2. Сортировка по фамилиям.

  3. Сортировка по возрастным группам.

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

  5. Вывод списка спортсменов, сгруппированных по виду спорта.

  6. Вывод списка гостиниц.

Вариант 19.

  1. Поиск по фамилии матери.

  2. Поиск по дате рождения ребенка.

  3. Сортировка по фамилиям матерей.

  4. Сортировка по датам рождения.

  5. Вывод списка детей с весом выше некоторой величины (пороговый вес задается пользователем).

  6. Вывод списка рожениц, лежащих в одной и той же палате, с указанием даты рождения ребенка и ФИО лечащего врача (номер палаты задается пользователем).

Вариант 20.

  1. Поиск слушателя по фамилии.

  2. Поиск по должности слушателя.

  3. Сортировка по фамилиям слушателей.

  4. Сортировка по наименованиям организаций, а внутри по фамилиям слушателей.

  5. Вывод списка слушателей (ФИО, должность, оценки по всем предметам).

  6. Вывод списка слушателей из одной и той же организации (название организации задается пользователем).

Вариант 21.

1. Поиск студента по его фамилии.

  1. Сортировка по фамилиям студентов.

  2. Сортировка по размеру стипендии

  3. Сортировка по группам.

  4. Вывод списка дисциплин с указанием ФИО преподавателя и даты экзамена.

6. Вывод списка студентов, не получающих стипендию.

Вариант 22.

  1. Поиск больного по фамилии.

  2. Поиск больного по дате поступления.

  3. Сортировка по фамилиям больных.

  4. Сортировка по степени тяжести состояния больных.

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

  6. Вывод списка больных из одной и той же палаты (номер палаты задается пользователем).

Вариант 23.

  1. Поиск по фамилии.

  2. Поиск по дате прохождения медкомиссии.

  3. Сортировка по фамилиям.

  4. Сортировка по году рождения.

  5. Вывод списка призывников одного года рождения (год задается пользователем).

  6. Вывод списка призывников, не пригодных к службе.

Вариант 24.

  1. Поиск изделия по виду.

  2. Поиск изделия по пробе.

  3. Сортировка по видам изделий.

  4. Сортировка по стоимости изделий.

  5. Вывод самого дорогого изделия.

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

Задания по учебному вопросу №2:

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

3. Организуйте в этом же приложении краткие справки по всем интерфейсным элементам.

Ответы на вопросы студентов.

  1. Методические рекомендации преподавателю по подготовке и проведению практического занятия

– Методика подготовки места проведения занятия и учебно-материального обеспечения

Компьютерный класс. Не более двух студентов на одну ЭВМ.

Практическое занятие разработано «2» ноября 2007г.

к.т.н., доцент

/ Выжигин А.Ю. /

(ученое звание, степень)

(подпись, фамилия и инициалы автора)

Технический редактор:

Строгин С. И.

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5137
Авторов
на СтудИзбе
440
Средний доход
с одного платного файла
Обучение Подробнее