Delphi как создать файл справки
После того как созданы HTML-файлы справочной информации, в которые помещены все необходимые для навигации по справочной системе гиперссылки, можно приступить к непосредственному созданию справочной системы.
После запуска HTML Help Workshop надо из меню File выбрать команду New/Project и в окне New Project – Destination ввести имя файла проекта справочной системы. После щелчка на кнопке Далее в этом и следующем окне, окно HTML Help Workshop.
Первое, что надо сделать, – сформировать раздел [FILES], который должен включать имена HTML-файлов, содержащих справочную информацию по разделам. Чтобы добавить в раздел [FILES] имя файла, надо щелкнуть на кнопке Add/Remove topic files, затем, в появившемся диалоговом окне Topic Files – на кнопке Add и в появившемся стандартном диалоговом окне Открыть выбрать HTML-файл раздела справки. Если справочная информация распределена по нескольким файлам, то операцию добавления нужно повторить несколько раз. После того как в диалоговом окне Topic Files будут перечислены все необходимые для создания справочной информации HTML-файлы, нужно щелкнуть на кнопке ОК. В результате этих действий в файле проекта появится раздел [FILES], в котором будут перечислены HTML-файлы, используемые для создания справочной системы.
Следующее, что надо сделать, – задать главный (стартовый) раздел и заголовок окна, в котором будет выводиться справочная информация. Текст заголовка и имя файла главного раздела вводятся соответственно в поля Title и Default file вкладки General диалогового окна Options, которое появляется в результате щелчка на кнопке Change project options.
Если для навигации по справочной системе предполагается использовать вкладку Содержание, то надо создать файл контекста. Чтобы это сделать, нужно щелкнуть на вкладке Contents, подтвердить создание нового файла контекста и задать имя файла контекста, в качестве которого можно использовать имя проекта. В результате станет доступной вкладка Contents, в которую нужно ввести содержание – названия разделов справочной системы.
Содержание справочной системы принято изображать в виде иерархического списка. Элементы верхнего уровня соответствуют разделам, а подчиненные им элементы – подразделам и темам.
Чтобы во вкладку Contents добавить элемент, соответствующий разделу справочной системы, нужно щелкнуть на кнопке Insert a heading, в поле Entry title появившегося диалогового окна Table of Contents Entry ввести название раздела и щелкнуть на кнопке Add. На экране появится окно Path or URL. В поле HTML titles этого окна будут перечислены названия разделов (заголовки HTML-файлов) справочной информации, которая находится во включенных в проект файлах (имена этих файлов указаны в разделе [FILES] вкладки Project). Если вместо названия раздела справочной информации будет указано имя файла, то это значит, что в этом файле нет тега <TITLE>. Выбрав (по заголовку или по имени) нужный файл нужно щелкнуть на кнопке ОК. В результате перечисленных выше действий во вкладке Contents появится строка с названием раздела справочной информации.
Если нужно изменить значок, соответствующий добавленному разделу, то следует щелкнуть на кнопке Edit selection и, используя список Image index вкладки Advanced окна Table of Contents, выбрать нужный значок (обычно рядом с названием раздела или подраздела изображена книжка).
Подраздел добавляется точно так же, как и раздел, но после того как подраздел будет добавлен, нужно щелкнуть на кнопке Move selection right. В результате чего уровень заголовка понизится, т. е. раздел станет подразделом.
Элементы содержания, соответствующие темам справочной информации, добавляются аналогичным образом, но процесс начинается щелчком на кнопке Insert a page.
Иногда возникает необходимость изменить порядок следования элементов списка содержания или уровень иерархии элемента списка. Сделать это можно при помощи командных кнопок, на которых изображены стрелки. Кнопки Move selection up и Move selection down перемещают выделенный элемент списка, соответственно, вверх и вниз. Кнопка Move selection right перемещает выделенный элемент вправо, т. е. делает его подчиненным предыдущему элементу списка. Кнопка Move selection left выводит элемент из подчиненности предыдущему элементу.
Компиляция
Компиляция – это процесс преобразования исходной справочной информации в файл справочной системы (СНМ-файл).
Исходной информацией для HTML Help компилятора являются:
- файл проекта (ННР-файл);
- файл контекста (ННС);
- файлы справочной информации (НТМ-файлы);
- файлы иллюстраций (GIF- и JPG-файлы).
Результатом компиляции является файл справочной системы (СНМ-файл).
Чтобы выполнить компиляцию, надо из меню File выбрать команду Compile, в появившемся диалоговом окне Create a compiled file установить переключатель Automatically display compiled help file when done (после компиляции показать созданный файл справки) и щелкнуть на кнопке Compile. В результате этого будет создан файл справки, и на экране появится окно справочной системы, в котором будет выведена информация главного раздела.
Первое, что надо сделать, — сформировать раздел [FILES], который должен включать имена HTML-файлов, содержащих справочную информацию по разделам. Чтобы добавить в раздел [FILES] имя файла, надо щелкнуть на кнопке Add/Remove topic files, затем, в появившемся диалоговом окне Topic Files (рис. 14.28) — на кнопке Add и в появившемся стандартном диалоговом окне Открыть выбрать HTML-файл раздела справки. Если справочная информация распределена по нескольким файлам, то операцию добавления нужно повторить несколько раз. После того как в диалоговом окне Topic Files будут перечислены все необходимые для создания справочной информации HTML-файлы, нужно шелкнуть на кнопке ОК. В результате этих действий в файле проекта появится раздел [FILES], в котором будут перечислены HTML-файлы, используемые для создания справочной системы (рис. 14.29).
Рис. 14.28. Диалоговое окно Topic Files
Рис. 14.29. В разделе [FILES] перечислены файлы, используемые для создания СНМ-файла
Следующее, что надо сделать, — задать главный (стартовый) раздел и заголовок окна, в котором будет выводиться справочная информация. Текст заголовка и имя файла главного раздела вводятся соответственно в поля Title и Default file вкладки General диалогового окна Options (рис. 14.30), которое появляется в результате щелчка на кнопке Change project options.
Рис. 14.ЗО. Диалоговое окно Options
Если для навигации по справочной системе предполагается использовать вкладку Содержание, то надо создать файл контекста. Чтобы это сделать, нужно щелкнуть на вкладке Contents, подтвердить создание нового файла контекста и задать имя файла контекста, в качестве которого можно использовать имя проекта. В результате станет доступной вкладка Contents (рис. 14.31), в которую нужно ввести содержание — названия разделов справочной системы.
Содержание справочной системы принято изображать в виде иерархического списка. Элементы верхнего уровня соответствуют разделам, а подчиненные им элементы — подразделам и темам.
Чтобы во вкладку Contents добавить элемент, соответствующий разделу справочной системы, нужно щелкнуть на кнопке Insert a heading, в поле Entry title появившегося диалогового окна Table of Contents Entry (рис. 14.32) ввести название раздела и щелкнуть на кнопке Add. На экране появится окно Path or URL (рис. 14.33). В поле HTML titles этого окна будут перечислены названия разделов (заголовки HTML-файлов) справочной информации, которая находится во включенных в проект файлах (имена этих файлов указаны в разделе [FILES] вкладки Project). Если вместо названия раздела справочной информации будет указано имя файла, то это значит, что в этом файле нет тега <TITLE>. Выбрав (по заголовку или по имени) нужный файл нужно щелкнуть на кнопке ОК. В результате перечисленных выше действий во вкладке Contents появится строка с названием раздела справочной информации.
Рис. 14.31. Вкладка Contents
Рис. 14.32. Добавление элемента в список разделов
Рис. 14.33. Выбор файла, соответствующего элементу списка разделов
Если нужно изменить значок, соответствующий добавленному разделу, то следует щелкнуть на кнопке Edit selection и, используя список Image index вкладки Advanced окна Table of Contents, выбрать нужный значок (обычно радом с названием раздела или подраздела изображена книжка).
Подраздел добавляется точно так же, как и раздел, но после того как подраздел будет добавлен, нужно щелкнуть на кнопке Move selection right. В результате чего уровень заголовка понизится, т. е. раздел станет подразделом.
Элементы содержания, соответствующие темам справочной информации, добавляются аналогичным образом, но процесс начинается щелчком на кнопке Insert a page.
Иногда возникает необходимость изменить порядок следования элементов списка содержания или уровень иерархии элемента списка. Сделать это можно при помощи командных кнопок, на которых изображены стрелки. Кнопки Move selection up и Move selection down перемещают выделенный элемент списка, соответственно, вверх и вниз. Кнопка Move selection right перемещает выделенный элемент вправо, т. е. делает его подчиненным предыдущему элементу списка. Кнопка Move selection left выводит элемент из подчиненности предыдущему элементу.
В качестве примера на рис. 14.34 приведена вкладка Contents справочной системы программы Квадратное уравнение.
Рис. 14.34. Вкладка Contents содержит названия разделов справочной системы
Рис. 1. Мастер установки Dr.Explain
Создание и настройка нового проекта
Для создания нового проекта файла справки с возможностью последующего экспорта в файл формата CHM в Dr.Explain выберите пункт «Создать новый проект» в стартовом окне программы, либо перейдите в пункт «Файл -> Создать» главного меню программы.
Рис. 2. Стартовое окно программы Dr.Explain
Рис. 3. Окно «Настройки проекта»
После применения настроек для каждой уже созданной темы и каждой новой создаваемой в дальнейшем теме будет автоматически присвоен уникальный цифровой идентификатор HelpID.
Создание тематических разделов в файле справки
Удобная структура файла справки достигается путем создания тематических разделов на формы и объекты описываемого приложения.
Создайте темы файла справки, перейдя в пункт меню «Настройки -> Добавить тему», или нажмите правой кнопкой мыши на дерево проекта в левой части экрана, после чего в открывшемся меню выберите пункт «Добавить -> Добавить тему». Для полного описания Delphi-приложения создайте темы для каждого его объекта. В таком случае в приложении по нажатию клавиши F1 будет открываться информация об объекте, на котором находится фокус.
Рис. 4. Дерево проекта Dr.Explain
В дереве проекта укажите название созданных тем и определите их порядок, используя соответствующие пункты меню.
Перейдите в нужную тему в дереве проекта и в окне редактора введите содержимое раздела в свободной форме. В окне редактора имеется стандартный функционал для форматирования текста.
Во вкладке «Ключевые слова» укажите набор ключевых слов для поиска по файлу справки. Для того, чтобы ассоциировать ключевое слово с определенной темой, выберите тему в дереве проекта и установите флаг напротив выбранного ключевого слова.
Рис. 5. Ключевые слова
Для создания описания конкретного объекта Delphi-приложения (в том числе и формы в приложении) также можно воспользоваться кнопкой «Схватить экран».
Рис. 6. Окно «Захват проекта»
В открывшемся диалоговом окне нажмите на пиктограмму «Accessible-объект» или «Win32-окно», после чего перейдите в окно приложения Delphi и выберите описываемый в разделе объект одним из указанных способов:
- Нажмите на клавишу PrtScr;
- Нажмите на объект, удерживая нажатой клавишу Ctrl;
- Поочередно кликните двумя кнопками мыши по объекту.
В результате выделения объекта в редакторе раздела будет автоматически создана тема, содержащая скриншоты как самого объекта, так и зависящих от него объектов приложения. Интерфейс редактора позволяет удалять информацию об объектах раздела и менять их местами, не выходя из редактора нажатием одной кнопки.
Рис. 7. Результат выполнения захвата объекта
Настройка значений Help ID
В Dr.Explain существует возможность редактирования значения Help ID. Для изменения значения идентификатора выберите желаемую тему и нажмите на ячейку «Help ID» в окне свойств страницы. Введите свое значение и уберите фокус мыши с поля для применения значения.
Рис. 8. Изменение значения Help ID в окне «Свойства страницы»
Рис. 9. Окно «Проверка проекта». Дублированные значения Help ID
Экспорт проекта в CHM-файл
Рис. 10. Окно «Экспорт в CHM»
Установка пути к CHM-файлу в проекте Delphi
Для загрузки файла справки CHM в проекте Delphi требуется указать путь к этому файлу. Для этого выполните одну из следующих операций (доступно для версий выше Delphi 7):
· Перейдите в пункт меню среды Delphi «Project -> Options» и во вкладке «Application» укажите путь к файлу в поле «Help file».
Примечание: В случае указания полного пути к файлу приложение Delphi, запускаемое на произвольной машине, будет искать файл справки именно в указанной директории, которая может отсутствовать на машине с установленным приложением. Поэтому оптимальное решение – указывать относительный путь к файлу справки.
Рис. 11. Установка относительного пути к файлу справки CHM с помощью GUI Delphi
· Перейдите в пункт меню среды Delphi «Project -> View Source» и в открывшемся окне введите код
Рис. 12. Программная установка относительного пути к файлу справки CHM
Привязка темы файла справки CHM к форме приложения Delphi
В проектах Delphi имеется возможность указания индивидуального файла справки для каждой из форм проекта. Для этого выполните одно из следующих действий:
· В коде проекта введите строку
Рис. 13. Программная установка относительного пути к файлу справки CHM для объекта TForm
· В инспекторе объектов для формы укажите соответствующее значение в поле «HelpFile»
Рис. 14. Установка относительного пути к файлу справки CHM для объекта TForm в окне «Инспектор объекта»
Привязка темы файла справки CHM к объектам приложения Delphi
Формат файла CHM и приложения Delphi позволяют назначить каждому объекту проекта свою тему файла справки, которая будет открываться при нажатии клавиши F1 в случае наличия фокуса на данном объекте. Для этого в Инспекторе объекта в поле «HelpContext» укажите HelpID из созданного файла CHM. В случае, если в файле справки отсутствует тема с HelpID, равным указанному значению «HelpContext», в файле справки будет открыта тема, ассоциированная с родительской формой.
Дополнительные способы вызова CHM-файла из приложения Delphi
Существует несколько альтернативных вариантов вызова справки из приложения Delphi:
Рис. 15. Вызов файла справки с использованием команды ShellExecute
· Выполните команду Application.HelpCommand(HELP_FINDER,0); по нажатию кнопки или другому действию на форме.
Рис. 16. Вызов файла справки с использованием команды Application.HelpCommand
Особенности интеграции файла справки в приложениях Delphi 7
Для использования файла справки CHM в проектах Delphi версии 7 или ниже необходимо воспользоваться расширениями сторонних разработчиков.
Скачайте и разместите в директории вашего проекта файл *.pas одного из выбранных расширений:
Укажите название подключаемого расширения в любом разделе Uses проекта Delphi.
Рис. 17. Подключение стороннего расширения к проекту Delphi 7
Дальнейшая работа с файлом справки в приложениях Delphi версии 7 или ниже осуществляется описанными выше способами аналогично другим версиям Delphi.
Когда вы первый раз заходите с помощью соцсетей, мы получаем публичную информацию из вашей учетной записи, предоставляемой провайдером услуги соцсети в рамках ваших настроек конфиденциальности. Мы также автоматически получаем ваш e-mail адрес для создания вашей учетной записи на нашем веб сайте. Когда она будет создана, вы будете авторизованы под этой учетной записью. Когда вы первый раз заходите с помощью соцсетей, мы получаем публичную информацию из вашей учетной записи, предоставляемой провайдером услуги соцсети в рамках ваших настроек конфиденциальности. Мы также автоматически получаем ваш e-mail адрес для создания вашей учетной записи на нашем веб сайте. Когда она будет создана, вы будете авторизованы под этой учетной записью.Рад, что вам понравилось Влад! Вторая часть уже на блоге :)
зы: справки к проге делал только один раз в Help And Manual. очень хороший инструмент для разработки. платный правда.
Александр Божко, не всегда те кто покупает софт имеют доступ в Инет. Редко, но метко встречаются и такие у кого на работе даже локалки нету :)
Vlad спасибо за статью!
Вот тут описано как мы в офисе искали программу для создания справки. (сорри за рекламу, просто думаю, что это действительно будет интересным и твоим читателям)
+1 за Help&Manual. Чудесная вещь.
> +1 за Help&Manual.
Ага. 2 Help&Manual-a по цене равны одной Delphi :D
> 2 Help&Manual-a по цене равны одной Delphi.
Во-первых, 350 + 350 = 700 < 900
Во-вторых, тебе зачем 2 Help&Manual-а?
P.S. Vlad, в последнее время твой сайт тормозит с прокруткой в Google Chrome.
>> HelpNDoc – хорошая штука с визуальным редактором и дружит с компилятором hhw :)
Чего-то она русские названия топиков кракозябрами после компиляции пишет :(
Есть решение?
Позовите Майкла Каплана, он их пристрелит за кривую поддержку юникода :D
Да ладно, пусть живут. Я HHW юзаю в чистом виде :)
Здравствуйте, Влад. У меня благодаря вашей статье получился очень хороший и красивый справочный файл. Но проблема, файл через сеть не открывается. После некоторых настроек в системе, правда, получается. Но это не рационально, не могу я настраивать все ПК клиентов. Посоветуйте, пожалуйста.
тока что проверил на эмбракадэро все работает а на седьмом делфи выдает такие ошибки
да я пробовал эмбракадеро но она создает кучу ненужных модулей и много всего другого. и проекты сделанные на эмбре с трудом запускаются на более старых версиях т.к в старых попросту нет таких модулей и проходится многое исправлять. так что я сошелся на том что 7 более оптимальный выбор для меня. т.к мне часто приходится иметь дело со страрыми версиями делфи. ну придется искать другой способ подключения возможно через shellexecute.все равно спасиб)
действительно окзалось намного проще подключить хэлп с помощью shellexecute)
Суть программы:
Нужно что бы в окне программы выводилась информация которая находится на листе эксель.
Строк примерно 25 . колонок 3. Лист 1
Примечание.
1.В экселе информация в этик сроках обновляется каждые 5 минут и программа должна также показывать обновленное инфо.
2. Возможно ли наложить пароль для доступа к инфо ограниченный по времени (допустим на сутки или неделю или месяц)
Читайте также: