» » » » А. Шевелёв - DbfWebServer. Способ эффективной работы с таблицами DBFв среде Интернет


Авторские права

А. Шевелёв - DbfWebServer. Способ эффективной работы с таблицами DBFв среде Интернет

Здесь можно купить и скачать "А. Шевелёв - DbfWebServer. Способ эффективной работы с таблицами DBFв среде Интернет" в формате fb2, epub, txt, doc, pdf. Жанр: Математика, издательство ЛитагентРидеро78ecf724-fc53-11e3-871d-0025905a0812. Так же Вы можете читать ознакомительный отрывок из книги на сайте LibFox.Ru (ЛибФокс) или прочесть описание и ознакомиться с отзывами.
Рейтинг:
Название:
DbfWebServer. Способ эффективной работы с таблицами DBFв среде Интернет
Автор:
Издательство:
неизвестно
Год:
неизвестен
ISBN:
нет данных
Вы автор?
Книга распространяется на условиях партнёрской программы.
Все авторские права соблюдены. Напишите нам, если Вы не согласны.

Как получить книгу?
Оплатили, но не знаете что делать дальше? Инструкция.

Описание книги "DbfWebServer. Способ эффективной работы с таблицами DBFв среде Интернет"

Описание и краткое содержание "DbfWebServer. Способ эффективной работы с таблицами DBFв среде Интернет" читать бесплатно онлайн.



Данная книга предназначена для всех, кто трепетно относится к накопленным данным и хочет их сохранить и приумножить. Предлагается достаточно простой способ создания информационных систем различного назначения.






Блоки кода – это безымянные функции. Ссылку на эту безымянную функцию можно присвоить переменной и выполнить её с помощью специальной функции Eval ().

Блоки кода предоставляют прекрасную возможность строить информационные системы с гибкой структурой и различными видами связи и взаимодействия. Именно блоки кода положены в основу сервера dbfWebServer.

Передача данных

Мы были свидетелями парада технологий: майнфрам, клиент-сервер, распределённые сети, интернет. На всех этапах этой череды постоянно возникала проблема передачи данных. Каждый раз она каким-либо образом решалась, но всегда оставалось чувство неудовлетворённости. Не было полного понимания, что такое передача данных. В рамках технологии клиент-сервер это достаточно трудно осуществить, поскольку в такой конфигурации всегда доминирует сервер, от клиента в плане хранения данных мало что зависит.

Новый подход, предложенный в работе [4], и данная разработка дают возможность поставить передачу данных во главу угла создания информационных систем нового поколения, где передача данных становится определяющим условием существования информационных систем.

Из вышесказанного следует, что передача данных в утилитарном смысле для информационных систем – это общение информационных объектов. Передаётся смысл информации, значения данных, а не структура данных, как таковая. Исходя из этого, информационные системы следует строить со слабоформализованными структурами данных, но мощными средствами обработки данных и представления их в естественном виде и передаваемые по стандартным телекоммуникационным каналам.

DbfWebServer станет весомым помощником в этом деле, поскольку учитывает как накопленный опыт, так и вышеописанные спецификации.

Передача данных – это совместный доступ к одной и той же информации различных приложений.

Передача данных – это однотипный предсказуемый пользовательский интерфейс приложений.

Передача данных – это слабоформализованные структуры данных, обмен только информацией, а не структурой данных вместе с данными.

Передача данных – это распределённые базы данных.

Эти соображения также легли в основу реализации спецификаций, изложенных в седьмой главе этой книги.

Реализация спецификаций

Перейдём к практической стороне вопроса – реализации. Реализация вышеизложенных спецификаций и спецификаций, приведенных в гл. 7 в конкретной информационной системе – задача непростая. Если бы все вопросы были решены, не было бы необходимости в разаработках в этом направлении.

В рамках данной разработки будем использовать подход разделения на процессы.

С появлением сервера dbfWebServer стало понятно, что работа с базами данных делится на два процесса. Такое разделение является весьма продуктивным направлением в области обработки данных и построения информационных систем. Попробуем убедиться в этом на конкретном примере.

Один процесс работает с базой данных. Этот процесс – программа 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 («U_karbeg»,»»)

,ixpub («O_karbeg», «2»)


За ним идёт разметка, с помощью которой строятся два фрейма с именами «A» и «B» соответственно.

<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>

текст разметки помещён в строку с помощью дополнительных символов, принятых в системе CLIPPER, – квадратных скобок.

Примечание.

Строковый константы в системе CLIPPER можно задавать с помощью трёх пар символов:

1) одинарные кавычки – «это строка текста»;

2) двойные кавычки – «это строка текста»;

3) квадратные скобки – [это строка текста].


Во фрайме с именем «В» выводится элемент управления списком, который описан в форме karbeg002.html, и карточка.


Файл karbeg002.html

<frameset rows=56,* border=0>

<frame height=100% width=100% name=M src=karbeg0021.html marginwidth=0 marginheight=0>

<frame height=100% width=100% name=K src=karbeg0022.html>

</frameset>

Форма karbeg002.html, в свою очередь, строится из двух фраймов. Фрайм с именем «М» содержит элемент управления списком karbeg0021.html.

Фрайм с именем «К» содержит карточку элемента, выделенного в списке


Файл karbeg0021.html


<eval>

[<table width=100% cellpadding=0 cellspacing=0> <tr bgcolor= c0c0c0> <td>

<b> <a target=A href=naiarm001.html>

АРМ: ] +HB_oemToAnsi (NAIARM00-> (FieldGet (3))) + [

<tr bgcolor=e0e0e0> <td> <table> <tr bgcolor=c0d0c0>

<form name=F target=_top action=rezzak00.html method=get>

<td> <input name=karbeg onfocus=kS () onkeydown=kD(event.keyCode) onkeyup=kU(event.keyCode)>

<td> <input type=hidden name=R>

</td> </form>

<td> <a target=A href=karbeg001.html? V_karbeg:=«»> Home </a> &nbsp;

<td> <a target=A href=karbeg001.html? kC:=33> PgUp </a> &nbsp;

<td> <a target=A href=karbeg001.html? kC:=34> PgDn </a> &nbsp;

<td> <a target=A href=karbeg001.html? maxele – > – </a> &nbsp;

<td> <a target=A href=karbeg001.html? maxele++> ++ </a> &nbsp;

</table>

<tr> <td bgcolor=c0c0c0 height=4>

<tr> <td height=100% width=100%>

</table>

<script> F.karbeg.focus ();

function kD (kC) {

kV=F.karbeg.value;

if(F.R.value==’l’) {return;}

F.R.value=’l’;

if(kC==38){parent.parent.A.location.href='karbeg001]+O_karbeg+[.html? R_karbeg – ';}
else if(kC==40){parent.parent.A.location.href='karbeg001]+O_karbeg+[.html? R_karbeg++';}
else if(kC==33){parent.parent.A.location.href='karbeg001]+O_karbeg+[.html? kC:='+kC;}
else if(kC==34){parent.parent.A.location.href='karbeg001]+O_karbeg+[.html? kC:='+kC;}
else if(kC==35){parent.parent.A.location.href='karbeg001]+O_karbeg+[.html? kC:='+kC;}
else if(kC==36){parent.parent.A.location.href='karbeg001]+O_karbeg+[.html? R_karbeg:=1»; }
else if (kC==27) {parent.parent.location.href='index.html’;}
}

function kU(kC){window.status=kC;

kV=F.karbeg.value;

if(kC==120){location.href='imagix0021.html’;}
else if(kC>40){parent.parent.A.location.href='karbeg001]+O_karbeg+[.html? kC:='+kC+», V_karbeg:=«»+kV+«"»; }
else if(kC==8){parent.parent.A.location.href='karbeg001]+O_karbeg+[.html? V_karbeg:=«»+kV+«"»; }
}
function kS(){parent.parent.A.location.href='karbeg001]+O_karbeg+[.html’;}

</script>

]


На что следует обратить внимание здесь? Элемент управления строится с помощью HTML разметки формы ввода


<form name=F target=_top action=rezzak00.html method=get>

<td> <input name=karbeg onfocus=kS () onkeydown=kD(event.keyCode) onkeyup=kU(event.keyCode)>

<td> <input type=hidden name=R>

</td> </form>


Для организации механизма управления списком определены функции обработки событий:

– получение фокуса формой onfocus=kS ();
– нажатие клавиши в поле ввода onkeydown=kD(event.keyCode);
– отжатие клавиши в поле ввода onkeydown=kU(event.keyCode).

При нажатии клавиши <ENTER> вызывается форма rezzak00.html и осуществляется переход к другому списку со всеми вытекающими отсюда последствиями.


На Facebook В Твиттере В Instagram В Одноклассниках Мы Вконтакте
Подписывайтесь на наши страницы в социальных сетях.
Будьте в курсе последних книжных новинок, комментируйте, обсуждайте. Мы ждём Вас!

Похожие книги на "DbfWebServer. Способ эффективной работы с таблицами DBFв среде Интернет"

Книги похожие на "DbfWebServer. Способ эффективной работы с таблицами DBFв среде Интернет" читать онлайн или скачать бесплатно полные версии.


Понравилась книга? Оставьте Ваш комментарий, поделитесь впечатлениями или расскажите друзьям

Все книги автора А. Шевелёв

А. Шевелёв - все книги автора в одном месте на сайте онлайн библиотеки LibFox.

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Отзывы о "А. Шевелёв - DbfWebServer. Способ эффективной работы с таблицами DBFв среде Интернет"

Отзывы читателей о книге "DbfWebServer. Способ эффективной работы с таблицами DBFв среде Интернет", комментарии и мнения людей о произведении.

А что Вы думаете о книге? Оставьте Ваш отзыв.