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

Шрифт
Фон

 обозначить набор правил построения и развития форм.

Семейство переменных

Семейство переменных, которые помогают в управлении пользовательским списком, представлено следующим перечнем:


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

КОНЕЦ ОЗНАКОМИТЕЛЬНОГО ОТРЫВКА

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


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

Ваша оценка очень важна

0
Шрифт
Фон

Помогите Вашим друзьям узнать о библиотеке

Скачать книгу

Если нет возможности читать онлайн, скачайте книгу файлом для электронной книжки и читайте офлайн.

fb2.zip txt txt.zip rtf.zip a4.pdf a6.pdf mobi.prc epub ios.epub fb3