Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






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




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

1. В текстовом редакторе, например Word, вводим текст справки содержащий ссылки, оформленные с помощью специальных атрибутов, и сохраняем этот текст в формате rtf (в Word: Файл®Сохранить как… в отрытом окне выбрать в строке Тип файла формат rtf) (рис. 7.1).

2. Для преобразования rtf- файла в файл hlp вызываем программу hcrtf.exe, которая находится в папке Delphi7\Help\Tools. В появившемся окне этого приложения выбираем File®New… Help Project (рис. 7.2) и далее вводим имя файла проекта Helpа (это будет файл с расширением hrj).

 

Рис. 7.1. Сохранение созданного файла в формате rtf

 

3. Открывается окно проекта help -файла (рис. 7.3). С помощью кнопки , а затем кнопки добавляем в проект файл rtf -формата.

4. С помощью кнопки , а затем кнопки ссылки, введенные в rtf- файле ставим в соответствие номерам (рис. 7.4).

5. Вернувшись в основное окно, увидим установленные параметры проекта (рис. 7.5).

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

 

Рис. 7.2. Окно приложения по созданию проекта hlp- файла

 

 

 

Рис. 7.3. Окно проекта hlp- файла

 

Рис. 7.4. Окно установки соответствия ссылки идентификатору раздела

 

 

 

Рис. 7.5. Установленные параметры проекта

 

Рис. 7.6. Окно результатов компиляции проекта hlp -файла

 

7. Для проверки созданный справочный файл загрузить и просмотреть в окне справки (меню File ® Run WinHelp).

8. Для продолжения работы над проектом необходимо закрыть окно результатов или переключиться в окно проекта командой Window ® <Project Name>, где <Project Name> — имя файла проекта.

9. Для подключения справочного файла к приложению имя hlp файла приложения следует указать в поле Helpfile страницы Application окна параметров проекта (Project ® Options страница Application в поле Helpfile) (рис. 7.7). В результате при запуске приложения указанный файл будет подключен автоматически. Или же подключить и заменить справочный файл можно динамически с помощью оператора вида

Application.HelpFile:= <Имя справочного файла>;

10. В свойстве HelpContext управляющих элементов, которые должны быть связаны с Helpом, указать номер идентификатора необходимого раздела справки. Тогда при нажатии клавиши <F1> на этих элементах будет автоматиче­ски вызываться этот раздел справочного файла. Если меню приложения содержит команду Помощь или ей подобную, то для вызова справки нужно подготовить соответствующий обработчик. Этот обработ­чик может содержать следующий код:

Application.HelpContext(<идентификатор раздела справки>);

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

 

Рис. 7.7. Окно подключения hlp- файла к проекту

Порядок выполнения работы

1. Создать справочный файл приложения, разработанного в предыдущей лабораторной работе (нечетные варианты для приложения лабораторной работы № 19, а четные – для приложения лабораторной работы № 20).

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

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

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

1. Основные этапы создания справочного файла.

2. Понятие атрибута текстового файла справки.

3. Понятие ссылки.

4. Правила оформления в текстовом файле ссылок и атрибутов.

5. Компиляция справочного файла.

6. Правила подключения справочного файла.


Приложение. Стандартные классы исключений

 

Класс Родитель[BP7] Обрабатываемое исключение
EAbort Exception Реализует «тихую» (без какого-либо сообщения) обработку любого исключения
EAbstractError Exception Программа пытается вызвать абстрактный метод
EAccessViolation Exception Программа пытается обратиться к не принадлежащей ей области памяти или использует недействительный указатель
EAppletException Exception Ошибка связана с созданием управляющих панелей в апплетах
EArrayError Exception Возникает из-за различного рода ошибок при работе с массивами (неверный индекс, попытка вставить элемент в массив фиксированной длины или в отсортированный массив и т. п.)
EAssertionFaild Exception Возбуждается отладочной процедурой Assert, когда тестируемое ею логическое выражение имеет значение False
EBitsError Exception Программа пыталась обратиться к свойству Bits объекта ТВts с индексом меньше нуля или больше максимально допустимого значения
EBrokerException Exception Объект-брокер не может найти сервер
ECacheError Exception Ошибка в наборе данных для компонента TDecisionCube
EClassNotFound EFilerError Не найден соответствующий класс для компонента, читаемого из потока данных. Обычно оно возникает в случае, когда в форму вставлен нестандартный компонент, а в библиотеке компонентов Delphi отсутсвует связанный с ним класса
ECommonCalendarError Exception Возникает в объектах класса TCommonCalendar и его потомках, когда вводится неверная дата
EComponentError Exception Появляется при различных манипуляциях программы с компонентом (программа не может зарегистрировать компонент, переименовать его или для его работы потребуется интерфейс СОМ, который компонентом не поддерживается)
EControlC   Exception Возникает при нажатии клавиш Ctrl+C в случае работы приложения в режиме консоли
EConvertError   Exception Ошибка преобразования в функциях StrToInt или StrToFloat
ECorbaDispatch   Exception Возникает в программах, использующих технологию CORBA, в случае ошибок, связанных с несовпадением интерфейсов сервера и брокера данных

 

Продолжение приложения

Класс Родитель Обрабатываемое исключение
ECorbaException Exception Возникает в программах, использующих технологию CORBA
ECorbaUserException ECorbaException Появляется как определяемая пользователем реакция на ошибки интерфейса
EDatabaseError Exception Возникает, когда компонент обнаруживает ошибку в базе данных
EDateTimeError Exception Возбуждается компонентом TDateTimePicker при попытке ввода неверной даты или времени
EDBClient EDatabaseError Ошибка связана с неправильной работой TClientDataSet
EDBEditError Exception Возникает, когда компонент пытается использовать данные, несовместимые с заданной маской
EDBEngineError EDatabase­Error Связана с ошибками BDE
EDimensionMarError Exception Возникает, когда используемый в кубе решений набор данных не имеет агрегатных полей
EDimlndexError Exception Связана с нарушением размерности массива данных для куба решений
EDivByZero   EIntError Ошибка целочисленного деления на ноль
EDSWriter Exception Ошибка при подготовке провайдером пакета набора данных  
EExternalException EStreamError Возникла ошибка, код которой не является предопределенным в Delphi  
EFCreateError EStreamError Ошибка при создании файла. Например, попытка создать файл на устройстве, предназначенном только для чтения, или в несуществующем каталоге  
EFilerError EStreamError Программа пытается повторно зарегистрировать в потоке данных один и тот же класс  
EFOpenError EStreamError Ошибка открытия потока данных. Например, попытка открыть несуществующий файл  
EHeapException Exception Ошибка определена неправильными операциями, связанными с динамической памятью  
EIBClientError EIBError Ошибка обусловлена с функционированием IBX-клиента  
EIBError EDatabaseError Общая ошибка технологии IBX  
EIBInterbaseError EIBError Ошибка связана с функционированием сервера в технологии IBX  
EInterpreterError Exception Возникает, когда компонент класса TDataBlockInterpeter не может интерпретировать значения блока данных  
EIntError Exception Любая ошибка в целочисленных вычислениях  
           

 

Продолжение приложения

Класс Родитель Обрабатываемое исключение
EIntfCastError Exception Попытка недопустимого приведения типов в OLE-объектах
EIntOverflow EIntError Ошибка целочисленного переполнения: программа пытается присвоить целочисленной переменной значение, выходящее из 32 двоичных разрядов
EInvalidArgument EMatchError Возбуждается математическими функциями при выходе аргумента из допустимого диапазона
EInvalidCast Exception Программа не осуществит недопустимое преобразование типов с помощью оператора as
EInvalidGraphic Exception Программа не может загрузить в контейнер изображение из файла, который имеет недопустимый формат (допустимыми форматами являются растр, метафайл, курсор, значок)
EIlnvalidGraphic-Operation Exception Программа не выполнит недопустимую графическую операцию
EIlnvalidGridOperation Exception Программа пытается выполнить недопустимую операцию с таблицей (например, обратиться к несуществующим столбцу или строке)
EInvalidlmage EFilerError Программа пробует прочитать ресурс изображения из файла, в котором этого ресурса нет
EInvalidOp EMatchError Ошибка в операциях с плавающей точкой (недопустимая инструкция, переполнение стека сопроцессора и т. п.)
EInvalidOperation Exception Не имеющий окна компонент пытается выполнить операцию, требующую дескриптора окна
EInvalidPointer ЕНеарException Попытка использовать недействительный указатель
EListError Exception Эта ошибка связана с неверными действиями программы по отношению к разного рода спискам. Например, обращение к элементу списка с индексом меньше нуля или больше максимально допустимого
ELowCapacityError Exception Ошибка появляется при попытке выделения памяти на устройстве, у которого отсутствуетнет необходимая свободная память
EMatchError Exception Любая ошибка при выполнении вычислений с плавающей точкой
EMenuError Exception Ошибка при работе программы с меню. Например, при добавлении элемента с идентификатором, который уже определен в меню
EMCIDiviceError Exception Ошибка возникла в медиаплейере
EMethodNotFound EFilerError Программа прочитала из потока данных объект, но не может найти связанный с классом объекта метод

 

Продолжение приложения

Класс Родитель Обрабатываемое исключение  
EMonthCalError ECommonCa-lendarError Возбуждается компонентом класса TMonthCalendar при попытке ввода неправильной даты  
EOleCtrlError Exception Программа не может установить связь с элементом ActiveX  
EOleError Exception Низкоуровневая ошибка в технологии OLE
EOleException EOleSysError Программа использует неверный OLE-интерфейс
EOleRegistrationError EOleError Ошибка регистрации OLE-объекта в реестре Windows
EOleSysError EOleError Возникает при неправильном выполнении команды OLE автоматизации
EOutlineError Exception Возникает при ошибке доступа к компоненту класса TOutLine
EOutOfMemory EHeapException Эта ошибка возникает, когда программа запрашивает слишком большой для данной конфигурации Windows объем памяти
EOutOfResource EOutOfMemory Программа требует от Windows дескриптор окна, но операционная система исчерпала лимит дескрипторов
lEOverflow EMatchError Результат операций с плавающей точкой слишком велик, чтобы уместиться в регистрах сопроцессора
EPackageError Exception Возникает при ошибке доступа к пакету
EParserError Exception Ошибка преобразования текста в двоичные данные при чтении из потока
EPrinter Exception Система Windows сообщила программе об ошибке принтера
EPrivilege Exception Программа пытается выполнить привилегированную операцию, которая может быть реалиизована только ядром Windows
EPropertyConvertError Exception Ошибка при чтении или записи значения свойства
EPropertyError Exception Ошибка доступа к свойству при чтении или записи
EPropReadOnly Exception Программа пытается изменить значение свойства, которое нельзя менять (при использовании технологии OLE)
EPropWriteOnly Exception Программа пытается прочитать свойство, предназначенное только для записи
ERangeError EIntError Целочисленный результат превышает емкость целого типа данных
EReadError EFilerError Программа не может прочитать из пото­ка данных нужного количества байтов
EReconcileError EDatabase-Error Ошибка обновления данных BTClientDataset
ERegistryException Exception Ошибка, связанная с операцией над реестром Windows
           

 

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

Класс Родитель Обрабатываемое исключение  
EResNotFound Exception Программа не может найти указанный ресурс в файле ресурсов
ESocketConnectionError Exception Ошибка связана с работой с сокетами Windows
ESocketError Exception Ошибка связана с работой с сокетами Windows
EStackOverf low Exception Исчерпан объем выделенного программе стека
EStreamError Exception Любая ошибка при работе с потоком данных
EStringListError Exception Программа ссылается на строку, индекс которой выходит из диапазона возможных значений для списка строк
EThread Exception Ситуация борьбы за общий ресурс в программе с несколькими потоками команд
ETreeViewErrorKTTreeView Exception Указан неверный индекс при обращении
EUnderflow EMatchError Результат операций с плавающей точкой слишком мал, чтобы уместиться в регистрах сопроцессора (исчезновение порядка)
EUnsupportedTypeError Exception Выбран недопустимый тип поля в качестве измерения в кубе решений
EUpdateError Exception Ошибка обновления набора данных провайдера
EVariantError Exception Ошибка при работе с типом Variant: недопустимое приведение типов; недопустимая операция; обращение к скалярной переменной как к варианту-массиву; индекс варианта-массива выходит из допустимых значений
EWin32Error Exception Ошибочное обращение к API-функции Windows. Свойство Mess age содержит номер ошибки и связанное с ней сообщение
EWriteError EFilerError Ошибка записи в поток данных
EZeroDivide EMatchError Вещественное деление на ноль
           

 


Библиографический список

Delphi 3: библиотека программиста/ Пер. с англ. Тейлор и др. — СПб.: Питер, 1998.

Delphi 7/ Под общ. ред. А. Д. Хомоненко. — СПб.: БХВ-Петербург, 2004.

Абрамов С.А., Гнездилова Г.Г., Капустина Е.Н. Задачи по программированию. - М.: Наука, 1988.

Архангельский А. Я. Delphi 6: Справ. пособие. — М.: ЗАО «Издательство БИНОМ», 2001.

Бобровский С. Delphi6 и Kylix: библиотека программиста. — СПб.: Питер, 2002.

Бондарев В.М., Рублинецкий В.И., Качко Е.Г. Основы программирования. – Х.: Фолио, Ростов н/Д: Феникс, 1997.

Бурсиян Э.В. Задачи по физике для компьютера: Учеб. пособие для студентов. - М.: Просвещение, 1991.

Глинский Я. Н., Анохин В. Е., Ряжская В. А. Бейсик. QBasic и Visual Basic. — СПб: ООО «ДиасофтЮП», 2002.

Дарахвелидзе П. Г., Марков Е. П. Программирование в Delphi7. — СПб.: БХВ-Петербург, 2003.

Информатика: Задачник-практикум: В 2 т. /Под ред. И. Г. Семакина, Е.К. Хеннера.- М.: Лаборатория Базовых Знаний, 2000.

Карасева Т.В. Сборник задач и упражнений по основам информатики и вычислительной технике. - М.: Колледж, 1995.

Касьянов В.Н., Сабельфельд В.К. Сборник заданий по практикуму на ЭВМ. - М.: Наука, 1986.

Конопка Р. Создание оригинальных компонент в среде Delphi/Пер. с англ. Рэй Конопка. — К.:НИПФ «ДиаСофт Лтд.», 1996.

Культин Н. Б. Основы программирования в Delphi7. — СПб.: БХВ-Петербург, 2003.

Пильщиков В.Н. Сборник упражнений по языку Паскаль: Учеб. пособие для вузов. - М.: Наука, 1989.

Поляков Д.Б., Круглов Л.Ю. Программирование в среде Турбо Паскаль (версия 5.5). - М.: МАИ А/О "Росвузнаука", 1992.

Прайс Д. Программирование на языке Паскаль: Практическое руководство. - М.: Мир, 1987.

Фаронов В. В. Delphi. Программирование на языке высокого уровня: Учебник для вузов. — СПб.: Питер, 2004.

 

[BP1]Мне делали замечание, что если это воросы, то форма предложения должна быть вопросительной и заканчиваться знаком вопроса J

[BP2]Отключение интегрированной отладки приведет к невозможности пошагового выполнения и просмотра значений переменных в окошеке Watch

[BP3]Я чуть призабыл - abstract’ные методы в план не входят?

[BP4]По моему скромному мнению, на этом и на нескольких рисунках ранее (с примерами программ) слишком много пустого пространства J

[BP5]Гы-гы J

[BP6]Мне кажется нумерация неверная. В начале методики было 13, а здесь вдруг 6, плюс может быть путаница с учетом первой части

[BP7]Может отсортировать по родителю и общих родителей объеденить в одну ячейку, и, например, с вертикальным текстом?






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных