Формат этого файла следующий.
Таблицы разделены специальной строкой из звёздочек —
*********************************************************
Первая строка раздела описывает саму таблицу: путь к таблице, имя таблицы, алиас таблицы, список полей таблицы.
Следующие строки представляют описание индексов таблицы.
Сколько индесов, столько строк (по одной строке на индекс).
Если требуемая таблица не найдена в текстовом файле, динамический загрузчик производит поиск в базе данных (таблице) SPIDBF00.dbf. Если поиск успешен, то он открывает запрашиваемую таблицу и заносит имя таблицы в массив активных таблиц arrDbfOpen.
Если массив активных таблиц переполняется, то первая таблица удаляется из массива и закрывается.
Размер массива задаётся в файле инициализации программы.
Текстовый файл для удаленного управления недоступен, поэтому список таблиц можно и следует хранить в проекте базы данных, который содержится в триаде таблиц SPIDBF00, SPIDBF10 и SPIDBF20 (Рис. 2.1).
Правило формирования наименований таблиц в системе ixBASE
Наименование таблиц формируется, как правило, из двух слов. Из каждого слова выбирается три буквы. Итоговое слово из шести букв дополняется порядковым номером из двух цифр.
SPIDBF00 ->
SPI – список
DBF – dbf таблиц
00 – стартовый
(SPI+DBF+00) => SPIDBF00
Три таблицы, логически объединённые таким образом одним именем, образуют фолдер SPIDBF (00,10,20).
Глава 3. Управление сервером
Сервером можно управлять непосредственно из браузера. Основные операции управления сервером следующие: показать сервер (show), спрятать сервер (hide), закрыть программу (shutdown). Основные операции представлены на рис. 3.1. Эти операции выполняются с помощью стандартной функции WIN API из адресной строки браузера, например
– http://localhost:4180/ShowWindow(hWnd,5) – показать окно программы;
– http://localhost:4180/ShowWindow(hWnd,0) – спрятать окно программы;
– http://localhost:4180/sendMessage(hWnd,2,NIL,NIL) – закрыть программу.
Рис. 3.1. Экранная форма стартовой страницы dbf.html с элементами управления сервером dbfWebServer
Документация
Документация представлена тремя ссылками:
– Manuel of dbfWebServer;
– Manuel of HTML4;
– xHarbour functions.
ссылка «Manuel of dbfWebServer» представляет данный вариант документа в электронном виде.
ссылка «Manuel of HTML4» переводит пользователя в документацию для разметки текста в среде Интернет HTML4 на русском языке в оригинальном представлении.
по ссылке «xHarbour functions» осуществляется переход к информационному блоку, который предоставляет доступ к документации xHarbour относительно функции в файловом виде.
Режим редактирования предназначен для работы со скриптами на расстоянии. Скрипты хранятся в виде файлов типа *.html. Эти файлы можно редактировать обычным редактором.
Другой способ редактирования этих файлов предлагается осуществлять через интерфейс системы. Переход к этому режиму работы находится по ссылке «HTML editor».
Если при входе в форму редактирования файлов список файлов оказывается пустым, следует кликнуть по заголовку таблицы, и список заполнится перечнем имён файлов, которые находятся в директории
/html/*.html
Количество записей в списке регулируется с помощью элементов управления « – » и «++». Нажимая тот или иной элемент, можно добиться токого количества записей в списке, которое наилучшим образом соответствует размеру зоны вывода.
Размер поля редактирования регулируется элементами управления по вертикали « – x++» и по горизонтали « – y++».
Сохранить введённые значения можно, нажав кнопку, на которой стоит знак «плюс».
Если требуется изменить интерфейс, можно изменить код соответствующих скриптов.
Вот мы и подошли к сути задачи. А суть эта состоит в том, что серверу нужно посылать определённые запросы и получать необходимую информацию, запрошенную у сервера.
Здесь необходимо напомнить, что запросы к серверу строятся в виде блоков кода. Это обусловлено тем, что используется СУБД CLIPPER-xHarbour, которая ориентирована в данном случае на работу с блоками кода.
Например, следующий запрос к серверу, использующий свойства блока кода, будет выглядеть следующим образом:
src="http://localhost:4180/cb:='
», i:=1,DBFRUN00-> (dbgotop (), ixWhile (»! eof ()», ’cb+= [
]
Разберём текст скрипта более подробно. В начале скрипта, который строит форму, идет тег , показывающей, что далее следует блок кода, который необходимо выполнить, а не просто отобразить на экране. Далее идет перечень инициализации глобальных переменных, которые будут использоваться при построении пользовательской формы:
Читать дальше
Конец ознакомительного отрывка
Купить книгу