Как сделать справку в делфи

Обновлено: 04.07.2024

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

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

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

Где-нибудь в самом начале раздела implementation вставьте код:

В OnCreate главной формы приложения добавьте:

В обработчике пункта меню для загрузки справки (например, Справка - Содержание) пишем:

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

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

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

Статья добавлена: 1 июня 2005

Зарегистрируйтесь/авторизируйтесь,
чтобы оценивать статьи.

Для вставки ссылки на данную статью на другом сайте используйте следующий HTML-код:

Ссылка для форумов (BBCode):

Поделитесь ссылкой в социальных сетях:

Комментарии читателей к данной статье

Пока нет комментариев к данной статье. Оставьте свой и он будет первым.

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

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

Создать справочную систему (HLP-файл) можно, например, при помощи поставляемой вместе с Delphi программы Microsoft Help Workshop. Исходным "материалом" для создания HLP-файла является текст справочной информации, представленный в виде RTF-файла.

Процесс создания справочной системы (HLP-файла) можно представить как последовательность следующих двух шагов:

1. Подготовка справочной информации (создание файла документа справочной информации).

2. Преобразование файла справочной информации в файл справочной системы.

Знаете ли Вы, что в 1974 - 1980 годах профессор Стефан Маринов из г. Грац, Австрия, проделал серию экспериментов, в которых показал, что Земля движется по отношению к некоторой космической системе отсчета со скоростью 360±30 км/с, которая явно имеет какой-то абсолютный статус. Естественно, ему не давали нигде выступать и он вынужден был начать выпуск своего научного журнала "Deutsche Physik", где объяснял открытое им явление. Подробнее читайте в FAQ по эфирной физике.

← →
worldmen © ( 2006-07-28 17:55 ) [0]

Как в Delphi вызвать контекстную справку или просто справку.
Этим никогда не пользовался поэтому ничего не знаю.
В св-вах формы есть HelpFile и HelpKeyword, но как ими пользоваться я не нашел.

← →
Ketmar © ( 2006-07-28 18:01 ) [1]

WinHelp F1

← →
worldmen © ( 2006-07-28 18:06 ) [2]

Это, что в проге команду вызывать?

← →
worldmen © ( 2006-07-28 18:16 ) [3]

Для особо одареных (меня) пишите коментарии. А то я до вашего умища не дорос.

← →
DesWind © ( 2006-07-28 21:09 ) [4]

Я ща ниче толкового не подскажу, но если найдешь в сети Бобровский "Delphi 5", там эта тема раскрыта. У мя на работе лежит в качестве справочника "с чего начать".

function HtmlHelp(hwndCaller: Integer; pszFile: String; uCommand: Integer;
dwData: Integer): Integer;stdcall;external "hhctrl.ocx" name "HtmlHelpA";

.
function TForm1.CallHelpA(Command: Word; Data: Integer;
var CallHelp: Boolean): Boolean;
begin
HtmlHelp(0, Application.HelpFile, // Запускаем справку
HH_HELP_CONTEXT, Data);
CallHelp:=False; // Если так не сделать, то Delphi попытается
// запустить WinHelp-справку
end;


> [13] saxon (02.08.06 20:04)

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

HH_HELP_CONTEXT - какое-то число. Определяет, что надо вызвать контекстную справку.
Data - номер раздела справки.


> Я непонял, что мне нужно вызывать, какую функчию.

Вызывать ничего не надо. Все сработает автоматически (точно не помню, но вроде нужно добавить biHelp к множеству BorderIcons)

После того как созданы 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). Если вместо названия раздела справочной информации будет указано имя файла, то это значит, что в этом файле нет тега . Выбрав (по заголовку или по имени) нужный файл нужно щелкнуть на кнопке ОК. В результате перечисленных выше действий во вкладке 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 выводит элемент из подчиненности предыдущему элементу.

Эксперимент А. Майкельсона, Майкельсона - Морли - действительно является цирковым фокусом, загипнотизировавшим физиков на 120 лет.

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

В эксперименте Майкельсона ставится вопрос о движении эфира относительно покоящегося в лабораторной системе интерферометра. Однако, если мы ищем эфир, как базовую материю, из которой состоит всё вещество интерферометра, лаборатории, да и Земли в целом, то, естественно, эфир тоже будет неподвижен, так как земное вещество есть всего навсего определенным образом структурированный эфир, и никак не может двигаться относительно самого себя.

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

Читайте также: