биография    автореферат    электронная библиотека    ссылки по теме    отчет о поиске    индивидуальное задание   

Руководство программиста

        HTML редактор написан на Delphi 7. Скачать его можно здесь.
Программа включает в себя следующий набор модулей:
  1. htmleditor.pas — основной модуль. Содержит основную форму программы. Более детальное описание смотрите здесь.
  2. unit2.pas — cодержит форму просмотра в броузере. На форме расположен элемент wb1, который является стандартным компонентом TWebBrowser. В переменной urlname хранится адрес страницы, которую он отображает. Используется для просмотра в браузере текста, находящегося в поле Editor (из главной формы).
  3. unit3.pas — cодержит форму обработки шаблона. Более детальное описание смотрите здесь.
  4. unit4.pas — cодержит форму для указания дирректории, куда будет помещен новый проект.
  5. unit5.pas — cодержит форму для создания таблицы. Форма содержит 4 поля типа TEdit и два типа TComboBox для ввода параметров таблицы. В обработчике нажатия на кнопку OK, свойствам формы cols,rows,width,border,align,valign присваиваются значения соответствующих полей. Также переменной instb присваивается значение true, что означает что пользователь хочет создать таблицу.
  6. unit6.pas — cодержит форму для создания изображения. Содержит необходимые поля, для указания свойств изображения.
  7. unit7.pas — cодержит форму с настройками. Здесь можно поменять значения полей записи Enviroment. Описание этой переменной можно посмотреть здесь.
  8. unit8.pas — cодержит форму для отображения файла справки.

Описание модуля htmleditor.pas.

На основную форму помещены элементы:
  1. Editor — компонент RichEdit. Предназначен для редактирования текста. В связи со слабыми возможностями компонента для раскраски текста, цвета обновляются довольно долго.
  2. Tree1 — компонент TTreeView. В это дерево при загрузке заносятся теги HTML из файла tree.tr. Структуру файла можно посмотреть здесь.
  3. Также присутствует главное меню, контекстное меню, ToolBar. диалоги для сохранения и загрузки файла, диалог для поиска в тексте.
        Текст HTML в поле для редактирования раскрашвается разными цветами. Цвета хранятся в переменной EnvCol, которая представляет запись из пяти переменных TColor:
  1. tag — цвет тегов HTML (то, что заключено в <>);
  2. text — цвет обычного текста;
  3. value — цвет констант (то, что заключено в "" внутри тегов HTML);
  4. symb — цвет спец. символов (этим цветом выделяется все &...;);
  5. comm — цвет комментариев;
        Цвета задаются при создании формы. Частота обновления цвета хранится в переменной colorupdate, которая расположена в записи Enviroment. Обновление цвета может происходить:
  1. После любого изменения текста в поле (если enviroment.colorupdate=CU_ALLWAYS).
  2. После ввода в текст символов <, >, скобок комментариев, а также при удалении символа (если enviroment.colorupdate=CU_OPT).
  3. Только при нажатии соотв. кнопки на ToolBar или в меню (если enviroment.colorupdate=CU_NEWER).

        По умолчанию enviroment.colorupdate=CU_OPT, но это значение можно поменять в настройках.
        Реализация раскраски содержится в процедурах chcol() и getbrackets(). Процедура getbrackets содает массив с символами (< > " & ; [ ]), а процедура chcol, используя этот массив, меняет цвет частям текста в 3 прохода (теги и константы, потом спец. символы, потом комментарии).
        При создании формы подгружается дерево тегов HTML и их свойств из файла tree.tr. При двойном шелчке мыши на дереве, вызывается процедура InsertText для вставки текста в поле. Вставка текста в поле происходит с помошью буфера: текст копируется в буфер, а из буфера в поле в текущую позицию курсора.

Описание модуля обработки шаблона unit3.pas.

        Пользователь указыват файл описания шаблона *.tp, структуру которого можно посмотреть здесь. В массив FileList заносится список файлов шаблона. Элемент массива FileList содержит описание назначения файла, название файла, и признак использования. Максимальное количество файлов ограничено константой MAXFILES=100. В элемент ListFiles (компонент TCheckListBox) заносится весь список файлов шаблона. В обработчике нажатия кнопки OK файлы, помеченные птичкой, копируются в указанную пользователем директорию, а у соответствующих элементов массива FileList признаку использования use присваивается значение true. Далее идет просмотр всех используемых файлов вызовом процедуры ViewFile. Если в файле находится кусок текста заключенный в скобки из $$$ (например $$$имя$$$), и при этом его еще нет в массиве usecomp, то он добавляется в массив usecomp. Для каждого элемента из массива usecomp активизируется текстовое поле, в которое вводится значение, подставляемое вместо искомого куска текста. Максимальное количество элементов в массиве usecomp ограничено и равно 15.
        После очередного нажатия кнопки OK для каждого используемого файла происходит вызов процедуры MakeFile, которая подставляет вместо $$$текст$$$ значение из соответствующего поля.

Структура файла tree.tr

        Файл представляет из себя набор строк. Одна строка содержит один тег или свойство. Тег пишется с начала строки без отступа. Свойства тега пишутся в строках, следующих за тегом, с одинарным отступом в строке. Например:
Файл tree.tr Полученное дерево
<table></table>
 align=""
 valign=""
Полученное дерево

 

Структура файла шаблона (*.tp).

        Файл представляет из себя набор строк. Вначале содержится число N содержащее количество файлов в шаблоне. Далее расположены 2*N строк, по две строки на каждый файл. Первая строка содежит назначение файла, вторая его имя.         Например шаблон сайта магистра может выглядеть так:
Файл magistr.tp Форма для выбора треб. файлов
8
Биография
index.htm
Укр. биография
indexu.htm
Анг. биография
indexe.htm
Автореферат
diss/index.htm
Электронная библиотека
library/index.htm
Каталог ссылок
links/index.htm
Отчет о поиске
links/zvit.htm
Индивидуальное задание
ind/index.htm
Полученная форма для выбора файлов

 

Описание переменной Enviroment

Переменная Enviroment содежит следующие поля:
  1. newblankhtml:boolean — если = true, то при создании нового документа сразу создается структура HTML файла.
  2. showtree:boolean — если = true, то показывается дерево тегов, иначе оно спрятано.
  3. colorupdate:integer — содержит тип обновления цвета в тексте. Может принимать значения CU_ALLWAYS (обновлять всегда при изменении текста), CU_OPT (обновлять только при вводе некоторых символов) и CU_NEVER (обновлять только вручную).

биография    автореферат    электронная библиотека    ссылки по теме    отчет о поиске    индивидуальное задание