Для того чтобы во время
работы программы пользователь, нажав клавишу <F1>, мог получить справочную
информацию, надо чтобы свойство HelpFile главного окна приложения содержало
имя файла справочной системы, а свойство HelpContext числовой идентификатор
нужного раздела (рис. 14.6).
Вспомните, идентификаторы разделов справочной системы перечислены в разделе
[MAP] файла проекта справочной системы.
Рис. 14.6. Свойство
HelpFile должно содержать имя файла справки
Файл справочной системы
приложения лучше поместить в ту папку, в которой находится файл исполняемой
программы.
Для каждого компонента
формы, например поля ввода, можно задать свой раздел справки. Раздел справки,
который появляется, если фокус находится на компоненте, и пользователь нажимает
клавишу <F1>, определяется значением свойства Heipcontext этого компонента.
Если значение свойства HelpContext элемента управления равно нулю, то при нажатии
клавиши <F1> появляется тот раздел справки, который задан для формы приложения.
Если в диалоговом окне
есть кнопка Справка, то справочная информация выводится по-другому —
для кнопки создается процедура обработки события onclick, которая обращением
к функции winheip запускает программу Windows Help (файл Winhlp32.exe). При
вызове функции winheip в качестве параметров указываются: идентификатор окна,
которое запрашивает справочную информацию; имя файла справочной системы; константа,
определяющая действие, которое
должна выполнить программа Windows Help и уточняющий параметр.
Примечание
Идентификатор окна — это свойство Handle формы приложения. Свойство Handle доступно только во время работы программы, поэтому в списке свойств в окне Object Inspector его нет.
Если необходимо вывести
конкретный раздел справки, то в качестве параметра, определяющего действие,
используется константа HELP_CONTEXT. Уточняющий параметр в этом случае задает
раздел справки, который будет выведен на экран.
Ниже, в качестве примера,
приведена процедура обработки события Onclick для кнопки Справка (Button4)
диалогового окна программы решения квадратного уравнения.
//
щелчок на кнопке Справка
procedure
TForm1.Button4Click(Sender: TObject);
begin
winhelp(Form1.Handle,'sqroot.hip',HELP_CONTEXT,1);
end;
HTML
Help Workshop
Современные программы
выводят справочную информацию в Internet-стиле — окно, которое используется
для вывода справки, напоминает окно Internet Explorer. И это не удивительно,
так как для вывода справочной информации используются компоненты, составляющие
основу Microsoft Internet Explorer. Система отображения справочной информации
является частью операционной системы, поэтому никакие дополнительные средства
для вывода справочной информации не нужны.
Физически справочная
информация находится в файлах с расширением chm. СНМ-файл — это так называемый
компилированный HTML-документ. СНМ-файл получается путем компиляции (объединения)
файлов, составляющих HTML-документ, который, как правило, состоит из нескольких
HTML-файлов.
Процесс преобразования
HTML-документа в справочную систему называют компиляцией. Исходной информацией
для компилятора справочной системы являются HTML-файлы, файлы иллюстраций и
файл проекта. В результате компиляции получается СНМ-файл, содержащий всю справочную
информацию.
Наиболее просто создать
справочную систему можно при помощи программы Microsoft HTML Help Workshop.
Чтобы создать справочную
систему, нужно:
Последние три из перечисленных выше шагов выполняются в программе HTML Help Workshop.
1. Электромагнитная волна (в религиозной терминологии релятивизма - "свет") имеет строго постоянную скорость 300 тыс.км/с, абсурдно не отсчитываемую ни от чего. Реально ЭМ-волны имеют разную скорость в веществе (например, ~200 тыс км/с в стекле и ~3 млн. км/с в поверхностных слоях металлов, разную скорость в эфире (см. статью "Температура эфира и красные смещения"), разную скорость для разных частот (см. статью "О скорости ЭМ-волн")
2. В релятивизме "свет" есть мифическое явление само по себе, а не физическая волна, являющаяся волнением определенной физической среды. Релятивистский "свет" - это волнение ничего в ничем. У него нет среды-носителя колебаний.
3. В релятивизме возможны манипуляции со временем (замедление), поэтому там нарушаются основополагающие для любой науки принцип причинности и принцип строгой логичности. В релятивизме при скорости света время останавливается (поэтому в нем абсурдно говорить о частоте фотона). В релятивизме возможны такие насилия над разумом, как утверждение о взаимном превышении возраста близнецов, движущихся с субсветовой скоростью, и прочие издевательства над логикой, присущие любой религии.
4. В гравитационном релятивизме (ОТО) вопреки наблюдаемым фактам утверждается об угловом отклонении ЭМ-волн в пустом пространстве под действием гравитации. Однако астрономам известно, что свет от затменных двойных звезд не подвержен такому отклонению, а те "подтверждающие теорию Эйнштейна факты", которые якобы наблюдались А. Эддингтоном в 1919 году в отношении Солнца, являются фальсификацией. Подробнее читайте в FAQ по эфирной физике.