Один процесс работает с базой данных. Этот процесс – программа dbfWebServer, которая занимается задачей управления базой данных и обработкой запросов от клиентов.
Другой процесс отображает и строит пользовательский интерфейс. Пользовательский интерфейс строится исходя из данных, полученных от сервера, с помощью такого стандартного браузера, как Microsoft Internet Explorer, Netscape, Opera или Firefox.
Эти два процесса согласуются между собой с помощью спецификации HTML. Это обусловлено тем, что используются стандартные браузеры, и передача данных осуществляется в рамках технологии Интернет.
Рассмотрим построение интерфейса на примере рабочего блока, входящего в состав дистибутива.
Построение пользовательского интерфейса картотеки пациентов на базе управляемых списков (рис. 3.3).
Для создания пользовательского интерфейса сначала определим список глобальных переменных, которые будут использоваться в разработке.
Чтобы создать информационную систему или элемент информационной системы априори или исходя из опыта, определяется некий минимальный набор средств:
– объявить и инициализировать глобальные переменные;
– позаботиться о построении пользовательских форм;
– определиться с методологией построения форм;
– обозначить набор правил построения и развития форм.
Семейство переменных
Семейство переменных, которые помогают в управлении пользовательским списком, представлено следующим перечнем:
,ixpub («R_karbeg», 1) – row
,ixpub («L_karbeg», 10) – curele
,ixpub («V_karbeg»,»») – search value string
,ixpub («E_karbeg», 10) – end of list
,ixpub («U_karbeg»,»») – fierst element of list
,ixpub («N_karbeg»,»») – next element of list
,ixpub («O_karbeg», «2») – order index
Построение формы
Построение пользовательской формы начинается с разметки экрана.
Сначала экран делится на две зоны. Одна зона отводится под основной список, вторая – под карточку и элемент управления списком.
Основная таблица и форма управления имеют, как правило, одинаковое наименование. Так, для таблицы KARBEG00.dbf создаётся одноимённая форма karbeg00.html. Исходный текст этой формы следующий:
<eval>
ixpub («R_karbeg», 1)
,ixpub («L_karbeg», 10)
,ixpub («V_karbeg»,»»)
,ixpub («E_karbeg», 10)
,ixpub («U_karbeg»,»»)
,ixpub («O_karbeg», «2»)
,[
<frameset cols=4,6>
<frame height=100% width=100% name=A marginwidth=0 marginheight=0>
<frame height=100% width=100% name=B src=karbeg002.html>
</frameset>
]
Разберём текст скрипта более подробно. В начале скрипта, который строит форму, идет тег <eval>, показывающей, что далее следует блок кода, который необходимо выполнить, а не просто отобразить на экране. Далее идет перечень инициализации глобальных переменных, которые будут использоваться при построении пользовательской формы:
ixpub («R_karbeg», 1)
,ixpub («L_karbeg», 10)
,ixpub («V_karbeg»,»»)
,ixpub («E_karbeg», 10)
,ixpub