Главная страница сайтаГлавная страница папкиНастоящая web-страница на весь экран
Программные коды сценариев:
настоящей страницы 12Аналога электронных таблиц ExcelМассива элементовПервый сценарий настоящей страницы
<SCRIPT>
<!--
status="Коды сценариев"
-->
</SCRIPT>
выводит текст "Коды сценариев" в строку состояния
при каждом открытии страницы.
При наведении мыши на ссылку
это слово из строки состояния исчезает,
а когда мышь с ссылки убирается,
появляется вновь.
Аналогичный сценарий
есть в каждой странице настоящей папки.
Текст, выводимый в строку состояния, совпадает
с текстом вызывающей страницу ссылки в левом фрейме,
напоминая пользователю, какую страницу он читает.
Очень простой и полезный сценарий,
так как в верх экрана Internet Explorer выводит
незаголовокстраницы,находящейсяводномизфреймов,
а заголовок страницы, задающей фреймовую структуру.
Обратите внимание, что
тег <SCRIPT> не содержит указания на язык сценария
и тем не менее сценарий работает.
Второй сценарий настоящей страницы
<SCRIPT LANGUAGE=VBScript>
<!--
Sub Document_onMouseMove
Set m=window.event.srcElement
If m.tagName="A" Then _
m.Style.BackGround="Yellow": _
m.Style.textDecoration="none"
End Sub
Sub Document_onMouseOut
Set m=window.event.srcElement
If m.tagName="A" Then _
m.Style.BackGround=Missing: _
m.Style.textDecoration="underline"
End Sub
-->
</SCRIPT>
при наведении мыши на ссылку
даёт ссылке жёлтый фон и убирает подчёркивание,
а при сходе мыши со ссылки
возвращает ссылку в первоначальное состояние.
Этот сценарий помогает пользователю
определить, на какую именно ссылку он навёл мышь,
в случае если ссылки находятся рядом друг с другом.
Строки
<SCRIPT LANGUAGE=VBScript>
<!--
-->
</SCRIPT>
содержатся в каждом сценарии на VBScript.
Обратите внимание, что
слово VBScript необязательно заключать в кавычки.
Программист, знакомый с VBA,
найдёт в этом сценарии много знакомого,
но заметит и отличия VBScript от VBA.
Как и в VBA, в VBScript
процедура Sub начинается с Sub и кончается End Sub.
Однако в отличие от VBA в VBScript
после имени процедуры можно опустить пустые скобки.
В VBScript
макрос Document_onMouseMove выполняется, когда
мышь наводится на какой-либо объект web-страницы;
Document_onMouseOut - когда мышь сходит с объекта.
Строка Set m=window.event.srcElement,
содержащая знакомый по VBA оператор Set,
придаёт переменной m
значение ссылки на объект web-страницы.
Как и в VBA, в VBScript
локальные переменные можно не объявлять
(локальной называется переменная,
введённая внутри процедуры
и доступная только той процедуре,
в которой она введена;
как в той , так и в другой процедуре
рассматриваемого сценария
введена переменная с именем m ,
но фактически это разные переменные).
Утверждение m.tagName="A" (A - латинская)
истинно,
если объект, на который ссылается переменная m,
находится непосредственно в теге <A></A>,
и ложно
в любом другом случае;
применение
HTML-кода <A HREF=#LABEL>э<B>ю</B>я</A>
приводит к тому, что
буквы э, я находятся непосредственно в теге <A></A>,
а буква ю находится в теге <A></A>,
но не находится непосредственно в теге <A></A>
(иначе говоря,
истинно, что буква ю находится в теге <A></A>,
но ложно, что
буква ю находится непосредственно в теге <A></A>).
Синтаксис оператора
IF ... Then ... Else ... End IF
в VBScript
совпадает с синтаксисом этого оператора в VBA.
Как и в VBA, в VBScript
одну строку можно разбить на несколько
парами символов пробел-знак подчёркивания.
В строке m.Style.BackGround=Missing
рассматриваемого сценария
Missing - не встроенная константа языка VBScript,
а неинициализированная переменная;
Missing можно заменить, например, на Z,
работа сценария от этого не изменится.
Аналог электронных таблиц Excel
содержит сценарий,который Вы можете посмотреть,нажав
.
Чтобы убрать код сценария (выделенный полужирным шрифтом) ,
опять нажмите мышью кнопку .
<INPUT ID=gj1 VALUE=12345 SIZE=5 MAXLENGTH=5>
задаёт текстовую строку, т.е. окошечко,
в которое пользователь может ввести строку символов.
Атрибут ID задаёт уникальное ID-имя,
благодаря которому
собственно сценарий
(заключённый в тег <SCRIPT></SCRIPT>)
может обратиться к этому элементу web-страницы.
Этот же атрибут используют,
когда пишут сценарий не на VBScript,
а на другом языке (например, JavaScript).
Атрибут VALUE задаёт строку,
которая появляется в окошечке
при каждом открытии web-страницы.
Значение этого атрибута можно заключать в кавычки
(например, VALUE=12345 равнозначно VALUE="12345"),
но во многих случаях это делать необязательно.
В частности,
без кавычек можно ввести любые
число (положительное, отрицательное или ноль;
целое или десятичную дробь)
и даже слово (набор букв без пропусков).
Однако
если вводимое значение содержит хотя бы один пробел,
его необходимо заключить в кавычки.
VALUE
не только атрибут тега <INPUT>,
но и главное свойство окошечка , заданного этим тегом ,
равное содержимому окошечка ,
т.е. строке , введённой в окошечко программно или пользователем .
Обращаясь к свойству VALUE ,
сценарий может прочесть или изменить содержимое окошечка .Атрибут SIZE
задаёт протяжённость окошечка слева направо,
позволяя сделать обозримой
строку из нескольких окошечек.
Эту протяжённость часто называют длиной или шириной;
однако сточкизрениярусскогоязыка это некорректно,
так как эта протяжённость может быть
как больше, так и меньше высоты окошечка.
Атрибут SIZE задаёт протяжённость в "символах";
однако символы различны по ширине
и в Internet Explorer 5.5
в окошечке с SIZE=5 умещаются 6 цифр или 4 буквы Ш.
Атрибут MAXLENGTH
задаёт максимальное число символов,
которые пользователь может ввести в окошечко.
<SPAN ID=gj4></SPAN>
метит место на web-странице,
куда сценарий вставляет результат вычисления.
В отличие от тегов <B>, <I>, <U> и других,
атрибут <SPAN>, если лишён атрибутов
и не перегружен (т.е. не переопределён) в таблице стилей,
ничего не делает :
действие <SPAN>, если он не перегружен,
полностью определяется атрибутами.
Поэтому если нужно только пометить место,
используют именно этот атрибут.
<BUTTON ID=buton>Вычислить</BUTTON>
вставляет на web-страницу
кнопку с ID-именем buton и надписью Вычислить.
Перейдём к собственно сценарию.
Обратите внимание, что
имя buton_onClick единственной процедуры сценария
состоит из двух частей:
ID-имени buton кнопки
и _onClick.
Такое имя приводит к тому, что
эта процедура
вызывается (но необязательно выполняется)
всякий раз,
когда левой кнопкой мыши нажимается
объект (в данном случае кнопка) с ID=buton.
Тело единственной процедуры
рассматриваемого сценария
имеет только одну строку
gj4.innerText = gj1.VALUE * gj2.VALUE + gj3.VALUE
gj1.VALUE - содержимое крайне левого окошечка,
gj2.VALUE - среднего,
gj3.VALUE - крайне правого,
gj4.VALUE - текст,
вставляемый в место, помеченное тегом <SPAN>.
Как и в VBA, в VBScript
знаком умножения является *
(звёздочка на кнопке с цифрой 8),
знаком сложения +.
Как и в обычном арифметическом выражении и VBA,
в VBScript
умножение выполняется раньше сложения,
если порядок действий не изменён скобками.
Если
в какое-нибудь окошечке будет текст, который
VBScript не сможет интерпретировать как число,
(например, слово "арбуз"),
то процедура просто не выполнится.
Сценарий Массива элементовКарандаши <B ID=g1>2</B> <B ID=j1>105</B>
Ручки <B ID=g2>3</B> <B ID=j2>200</B>
Стержни <B ID=g3>1,5</B> <B ID=j3>20</B>
<SCRIPT LANGUAGE=VBScript>
<!--
For k=1 To 3
D = D + _
eval("g" & k).innerText * _
eval("j" & k).innerText
Next
Document.Writeln _
"Товара осталось на " & D & " рублей."
-->
</SCRIPT>
выполняется
при каждом открытии страницы с этим сценарием.
Собственно сценарий
(заключённый в теге <SCRIPT></SCRIPT>),
почти совпадающий с этим,
может использоваться для подсчёта стоимости остатка
на складе или в магазине.
Обратите внимание на 2 момента:
1) Этот сценарий не содержит
ни одной процедуры.
2) В отличие от VBA, в VBScript
после слова Next нельзя ставить имя счётчика цикла.