Иллюстрированный самоучитель по Turbo Pascal

Контекстная помощь

Для иллюстрации техники использования средств модуля HelpFile рассмотрим следующий пример. Пусть текст справочной службы помещен в файл HelpTest.txt и имеет следующий вид:

.topic NoContext=0
Добро пожаловать в справочную службу системы Turbo Vision!

В текстовом файле для справочной службы Вы должны подготовить {заголовки тем: topic} и {перекрестные ссылки: CrossRef}. Весь текст от одного заголовка до другого представляет собой текст справки и выводится в окне справочной службы. При подготовке текста учитываются следующие соглашения:

  • если очередная строка начинается символом пробел, эта строка не будет форматироваться с учетом границ окна;
  • во всех остальных случаях выводимый в окне текст форматируется с учетом границ окна: слово, не умещающееся на строке, переносится на следующую строку экрана. Для преобразования текстового файла в файл справочной службы вызывается программа TVHC.EXE:
TVHC NAMETXT [NAMEHELP [NAMEPAS]]

Здесь:

  • NAMETXT – имя исходного текстового файла;
  • NAMEHLP – имя выходного файла справочной службы;
  • NAMEPAS – имя выходного файла, содержащего текст PAS-модуля с определением всех контекстов в виде констант chXXXX.

Имя файла NAMEHELP можно не указывать – в этом случае выходной файл будет иметь имя входного файла и расширение HLP. Если не указан файл HELPPAS, будет создан файл с именем исходного и расширением PAS.

По умолчанию программа использует расширение ТХТ для входного файла, HLP для выходного файла справочной службы и PAS – для файла констант. .topic Topic=1. Заголовок темы имеет следующий формат:

.topic Name[=N] [, Name1[=N2] […]]

Здесь:

  • Name – имя темы (может состоять только-из латинских букв и цифр; разница в высоте букв игнорируется);
  • N – контекст справочной службы, при котором выдается данная справка.

В квадратных скобках показаны необязательные параметры. Если опущен контекст N, программа присваивает соответствующей перекрестной ссылке контекст NPrev + 1, где NPrev – предыдущий определенный в программе контекст:

..topic CrossRef=2

В произвольное место текста справки можно вставить так называемую перекрестную ссылку:

(text[:title])

Здесь:

  • () – фигурные скобки;
  • text – произвольный текст или заголовок темы;
  • title – заголовок темы; этот параметр вместе с двоеточием опускается, если text – заголовок темы.

Если Вы подготовите такой файл, то после вызова:

tvhc helptest

Будут созданы два файла: файл справочной службы helptest.hlp и файл модуля с определениями констант helptest.pas. Содержимое этого последнего файла будет таким:

unit helptest;
interface
const
hcCrossRef = 2;
hcNoContext= 0;
hctopic = 1;
implementation
end.
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.