А. Шевелёв - DbfWebServer. Способ эффективной работы с таблицами DBFв среде Интернет Страница 5
- Категория: Научные и научно-популярные книги / Математика
- Автор: А. Шевелёв
- Год выпуска: неизвестен
- ISBN: нет данных
- Издательство: -
- Страниц: 11
- Добавлено: 2019-02-05 10:51:33
А. Шевелёв - DbfWebServer. Способ эффективной работы с таблицами DBFв среде Интернет краткое содержание
Прочтите описание перед тем, как прочитать онлайн книгу «А. Шевелёв - DbfWebServer. Способ эффективной работы с таблицами DBFв среде Интернет» бесплатно полную версию:Данная книга предназначена для всех, кто трепетно относится к накопленным данным и хочет их сохранить и приумножить. Предлагается достаточно простой способ создания информационных систем различного назначения.
А. Шевелёв - DbfWebServer. Способ эффективной работы с таблицами DBFв среде Интернет читать онлайн бесплатно
При нажатии клавиши <ENTER> вызывается форма rezzak00.html и осуществляется переход к другому списку со всеми вытекающими отсюда последствиями.
Форма содержит вспомогательное поле R. С помощью этого поля регулируется скорость нажатия клавиш управления списком. Это поле, например, блокирует бесконечное нажатие одной клавиши без перевывода информации на экране.
Поле karbeg является активным, в нем принимаются нажатия всех клавиш и затем соответствующим образом обрабатываются.
Активное поле ввода нужно, в первую очередь, для отслеживания нажатия клавиш с целью:
– передвижения по списку;
– ввода ключевого слова поиска;
– выполнения команды.
Обработка нажатия клавиш осуществляется с помощью кода, написанного на языке JavaScript.
Блок этого скрипта следующий:
<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>
Здесь представлена функция обработки нажатия клавиши kD (), отжатия клавиши kU () и получения фокуса kS ().
После того, как данная форма будет выведена на экран, активное поле ввода получит фокус с помощью команды
F.karbeg.focus ();
где F – имя формы ввода значений;
karbeg – имя активного поля формы.
Семейство файлов karbeg001*.html
Семейство файлов karbeg001]+O_karbeg+[.html представляет собой набор файлов, с помощью которых строится главный список.
Главный список имеет несколько ключей сортировок.
Номер ключа определяется переменной O_karbeg.
Построение списка
Рассмотрим построение списка на примере файла karbeg0012.html:
Файл karbeg0012.html
<eval>
,if (kC=35,R_karbeg:=maxele)
,if (kC=34,V_karbeg:=E_karbeg)
,if (kC=33,karbeg00-> (ordSetFocus (2),dbGoto (U_karbeg),dbSkip (-20),V_karbeg:=FieldGet (1)))
,if (kC=45,karbeg00-> (apprec (),scater ({V_karbeg,»», dtos (date ()),time ()})))
,if (R_karbeg <1,R_karbeg:=L_karbeg)
,if (R_karbeg> maxele, R_karbeg:=1)
,if (R_karbeg> L_karbeg, R_karbeg:=1)
,if ((maxele-R_karbeg) ==0, (R_karbeg – ,V_karbeg:=N_karbeg))
,i:=1
,cb:= [
<table width=100%> <tr bgcolor=d0d0a0>
<th> <a target=M href=karbeg0021.html? ord:=«1»> Дата
<th> ixBase
<th> <a target=M href=karbeg0021.html? ord:=«4»> medlan
<td> <a target=M href=karbeg0021.html? ord:=«3»> <b> ФИО
],
karbeg00-> (ordSetFocus (2),dbfout (
{||cB+= [<tr bgcolor=] +if (R_karbeg=i, (K_K:=FieldGet (1), [e0b0b0]), [e0e0d0])
+ [> <td>] +substr (fieldget (2),1,10)
+ [<td align=center> <a href=karbeg001.html? R_karbeg:=] +ltrim (str (i)) + [>] +FieldGet (1)
+ [<td>] +fieldget (3)
+ [<td width=100%> <nobr>] +HB_OemToAnsi (fieldget (5))
,if (i==1,U_karbeg:=RecNo ())
,if (i==2,N_karbeg:=Fieldget (1))
,i++
}, [»»], [], [FieldGet (1)],V_karbeg, [.t.],.f.,maxele+1)
,E_karbeg:=fieldget (1)),kC:=0,L_karbeg:=i-1,
cb+= [<script>
parent.B.M.F.karbeg.focus ();
parent.B.M.F.R.value=’r’;
parent.B.K.location.href='karbeg0022.html’;
</script>]
+ [<tr bgcolor=c0c0f0> <td height=3> <td> <td> <td> <tr bgcolor =d0d0a0> <th> Дата <td> Номер <td> Цена <td> Документ]
,REZZAK00-> (dbSeek (K_K)
,cb+ [<tr bgcolor=e0e0d0> <td>] +substr (FieldGet (3),1,10) + [<td>] +FieldGet (2) + [<td>] +FieldGet (4) + [<td>] +FieldGet (5)
)
Отображение списка состоит из частей:
– блок обработки управления списком и элемент позиционирования в списке;
– вывод основного списка;
– стабилизация процессов;
– вывод дополнительной информации.
Блок обработки управления списком и элемент позиционирования в списке проводит дополнительную обработку информации о нажатых клавишах.
Если есть необходимость, то проводится новое позиционирование в списке.
Основные операции со списком следующие:
– перемещение в начало (код клавиши kC=36) R_karbeg:=1;
– перемещение в конец (код клавиши kC=35) R_karbeg:=maxele;
– перемещение вниз по списку R_karbeg++;
– перемещение вверх по списку R_karbeg – .
На этом пример реализации спецификаций заканчивается в надежде на то, что читатель сам попробует изменить данный или добавить новый фрагмент информационной системы, расширив таким образом функциональность информационной системы в целом себе на пользу.
Заключение
Фолдер скриптов karbeg00 содержит следующий список файлов:
karbeg00.html – главная форма;
karbeg0011.html – список по первому индексу;
karbeg0012.html – список по второму индексу;
karbeg0013.html – список по третьему индексу;
karbeg0014.html – список по четвертому индексу;
karbeg002.html – фреймы для управления и карточки;
karbeg0021.html – форма для управления списком;
karbeg0022.html – форма для карточки.
С помощью перечисленных выше файлов строится полность работоспособный фрагмент информационной системы.
Данный фрагмент информационной системы, полученной с помощью фолдера karbeg00, предназначен для ведения списка персон, лиц или пациентов с учетом всех спецификаций, предусмотренных информационными технологиями ixBASE и рассмотренных в этой книге.
Глава 4. Эволюция сервера
Вехи
dbfWebServer v5.315 от 20.07.2007 г.
Добавлено определения IP адреса удалённого пользователя.
Добавлены функции для перекодировки OEM и ANSI: toOEM () и toANSI (), в зависимости от выбранной прикладной базы данных.
dbfWebServer v5.314 от 20.04.2007 г.
Cиписок DBFSPI00 больше не используется для открытия файлов проекта. Он был нужен для того, чобы в однопользовательском режиме работы сохранять позиции в таблиах при выходе из программы изи закрытии таблиц.
dbfWebServer v5.313 от 10.01.2007 г.
Добавлены функции для работы с регистром (regex. txt).
Добавлены функции для работы с объектом (GetActiveObject, CreateObject).
dbfWebServer v5.312 от 08.01.2007 г.
Добавлена обработка метода POST. Теперь стала доступной возможность редактирования данных из формы.
Более полно отработаны методы перемещения по списку в примерах, входящих в дистрибутив.
dbfWebServer v5.311 от 03.01.2007 г.
Добавлена обработка блоков кода из адресной строки при вызове следующей страницы
href=index.html? M:=SPIDBF00-> (dbGoTop (),FiledGet (1))
Добавлена новая функция require ().
Добавлена обработка нового тега <eval>.
По умолчанию загружается страница index.html.
Создан набор примеров работы с таблицами, стартовый файл примеров – INDEX.HTML.
dbfWebServer v5.31 от 10.12.2006 г.
Добавлена обработка блоков кода из адресной строки
http:// localhost:4180/SPIDBF00-> (dbGoTop (),FiledGet (1))
Создан функциональный набор примеров работы с таблицами, стартовый файл примеров – DBF.HTML.
dbfWebServer v5.3 от 10.10.2006 г.
Сервер получен путём преобразования программ ixBASE. exe (xHarbour), созданной в 2006 г., ixBASE. exe (FiveWin) – в 2000 г., ixBase. exe (DOS) – в 1993 г.
Использован компилятор xHarbour Builder (3).
xHarbour Builder Product Overview
The xHarbour programming language is a superset of the well known xBase language, often referred to as Clipper. Though xHarbour is 100% backward compatible with the Clipper Language, xHarbour Builder adds many modern features and tools found in most modern compilers. Such features include Visual xHarbour, SQLRDD, xBuild Project Wizard, ActiveX, and many more.
xHarbour.com aims to establish xHarbour as the Development Product of choice, for the extended xBase Developer Community. xHarbour.com attempts to follow in the footsteps of Red Hat Inc and similar companies, merging the stability and longevity that commercial distribution offers with the freedom and security offered by Open Source – Free Software projects. This powerful combination has already demonstrated its tremendous market appeal and the viability of this business model.
xHarbour’s Main Features:
100% backward compatible Clipper Language.
EXTENDED to offer the most complete set of modern features, while still retaining the simplicity and elegance of the xBase language.
Self contained executable, require NO DLL’s, and/or any system dependency.
Fastest most complete and robust DB interfaces, supporting widest range of DBF flavours
Support for single user apps, through client-servers, all the way up to the most popular SQL servers.
Open Source supported by creative and dedicated development teams offering practically immediate solutions to bug reports and popular features request.
Guaranteed, professional support from the creators of xHarbour.
Лицензионные соглашения
Программное обеспечение поставляется в нескольких вариантах. СД-диск и загрузка из Интернета. Диск прилагается к данной книге. Список официальных сайтов приведен ниже.
Copyright (С) 2007 Анатолий Шевелёв.
Все права заявлены
Данный программный продукт защищен законами об авторских правах и международными соглашениями. Незаконное воспроизведение или распространение данной программы или ее части влечет гражданскую и уголовную ответственность.
Данный программный продукт распространяется совершенно свободно на условиях «AS IS», то есть автор не несет ответственности за возможные сбои в работе программы. Плата при распространении программы может взиматься только за стоимость электронного или магнитного носителя и транспортировки. При распространении данной программы без предварительного соглашения с автором необходимо соблюдать оригинальный комплект поставки.
Документы, находящиеся на сервере dbfWebServer, и данный документ представляются обладателями авторских прав в соответствии со следующей лицензией.
Жалоба
Напишите нам, и мы в срочном порядке примем меры.