- •Высшего профессионального образовании
- •Глава1 Глава2 Глава3
- •VbScript.
- •InputBox(подсказка, заголовок, исходное_значение, X, y)
- •InputBox подсказка, заголовок, исходное_значение, X, y
- •15 ‘ Целое число
- •If условие Then выражение
- •If условие Then
- •If условие-1 Then
- •If Not (a.FolderExists(papka)) Then
- •If Not(a.FileExists(user1)) Then
- •If Not (a.FolderExists(papka)) Then
If условие Then выражение
If условие Then
выражения
End If
If условие-1 Then
[выражения-1]
[ElseIf условие-2 Then
[выражения-2]] …
[Else
[выражения-n]]
End If
Здесь квадратные скобки указывают лишь на то, что заключенные в них элементы синтаксической конструкции не являются обязательными. Обратите внимание, что блоков вида ElseIf может быть сколько угодно, в то время как блок вида Else может быть использован не более одного раза.
Когда требуется вычислить значение выражения и сравнить его со значениями из заданных списков, удобно использовать оператор Select Case:
Select Case тестируемое_выражение
[Case список_значений-1
[выражения-1]]
[Case список_значений-2
[выражения-2]]
…
[Case список_значений-n
[выражения-n]]
[Case Else
[выражения-n+1]]
End Select
Здесь квадратные скобки указывают лишь на то, что заключенные в них элементы синтаксической конструкции не являются обязательными. Список значений может состоять из одного или нескольких элементов. В последнем случае они разделяются запятыми.
С помощью оператора Select Case вычисляется значение тестируемого выражения, которое последовательно сравнивается со значениями из списков блоков Case. Если значение тестируемого выражения совпадает с каким-нибудь значением из списка какого-нибудь блока Case, то выполняются выражения, соответствующие этому блоку. Если значение тестируемого выражения входит в несколько списков, то выполняются выражения самого первого блока Case. После выполнения выражений блока Case управление вычислительным процессом передается оператору, непосредственно следующему за End Select. Если ни один из списков значений, заданных в блоках Case, не содержит значения тестируемого выражения, то выполняются выражения блока Case Else (при его наличии). Если блок Case Else отсутствует, то управление передается оператору , непосредственно следующему за End Select.
Пример:
x = InputBox("Сколько Вам лет?")
Select Case x
Case Empty
MsgBox "Вы ничего не ввели"
Case 20,21,22,23,24,25
MsgBox "У Вас все впереди"
Case 40,41,42,43,44,45
MsgBox "Вы достигли главного"
Case Else
MsgBox "Вы ищете свой путь в жизни"
End Select
Оператор цикла обеспечивает многократное выполнение блока программного кода до тех пор, пока не выполнится некоторое условие. В VBScript имеются несколько операторов цикла.
Оператор цикла со счетчиком циклов имеет следующий синтаксис:
For счетчик=начальное_значение To конечное_значение [Step приращение]
выражения
Next
При выполнении этого оператора сначала переменной счетчик присваивается начальное значение. Если это значение не равно заданному конечному значению, то выполняются выражения, указанные в теле оператора цикла. В противном случае выражения не вычисляются, а управление передается оператору, непосредственно следующему за Next. Затем значение счетчика увеличивается на величину приращения, указанную после ключевого слова Step (если его нет, то на 1). Новое значение счетчика сравнивается с конечным значением и далее все повторяется описанным выше способом.
Пример:
‘ Заполнение массива квадратами первых десяти натуральных чисел
Dim myarray(9)
For i=1 To 10
myarray(i-1) = x^2
Next
Оператор For Each … Next позволяет организовать цикл по элементам массива или по объектам из некоторого множества, когда их количество заранее не известно. Этот оператор выполняет заданные выражения для каждого элемента из указанного множества. Он имеет следующий синтаксис:
For Each элемент In множество
выражения
Next
Параметр множество задает имя массива или коллекцию объектов. Параметр элемент — переменная, которая в процессе выполнения оператора цикла автоматически принимает в качестве значения ссылку на элемент массива или объект.
For ... Next — выполняет часть кода заданное число раз.
Dim intSalary (10)
For intCounter = 0 to 10
intSalary(intCounter) = 20000
Next
For Each ... Next Statement — выполняет часть кода для всех элементов массива или коллекции.
For Each Item In Request.QueryString("MyControl")
Response.Write Item & "< BR>"
Next
Do ... Loop — выполняет часть кода до тех пор, пока условие справедливо, или до тех пор, пока оно не станет выполняться (в зависимости от конструкции).
Do While strDayOfWeek <> "Суббота" And strDayOfWeek <> "Воскресенье"
MsgBox ("Вставай, пора работать!")
…
Loop
Do
MsgBox ("Вставай, пора работать!")
Loop Until strDayOfWeek = "Суббота" Or StrDayOfWeek = "Воскресенье"
While ... Wend — выполнет блок кода, пока выполняется условие.
While strDayOfWeek о "Суббота" And strDayOfWeek о "Воскресенье"
MsgBox ("Вставай, пора работать!")
…
Wend
В VBScript есть некоторое количество функций, используемых для управления переменными и доступа к их значениям. Их можно разделить на несколько категорий:
Функции преобразования
Функции даты/времени
Математические функции
Функции управления объектами
Функции инициализации интерпретатора кода сценария
Строковые функции
Функции проверки переменных
Для получения полного описания каждой функции можно воспользоваться, например, справочной системой приложения.
Функции преобразования-эти функции используются для преобразования значений переменных разных типов.
Функция Описание
Asс Возвращает кодовый номер ANSI первого символа в строке
AscB To же, но используется для обработки однобайтовых данных.
Возвращает результат для первого байта
AscW To же, но используется для символов Unicode.
Возвращает символ кода Wide, что позволяет преобразование из Unicode в ANSI
Chr Возвращает строку символов с соответствующими номерами
ChrB To же, но используется для обработки однобайтовых данных, содержащихся в строке. Возвращает всегда один байт
ChrW To же, но используется для символов Unicode.
Возвращает символ кода Wide, что позволяет преобразование из Unicode в ANSI
Cbool Возвращает аргумент, преобразованный в признак логического типа
Cbyte Возвращает аргумент, преобразованный в признак типа "байт"
Cdate Возвращает аргумент, преобразованный в признак типа даты
СDbl Возвращает аргумент, преобразованный в признак числа двойной точности
Cint Возвращает аргумент, преобразованный в признак целого числа
CLng Возвращает аргумент, преобразованный в признак длинного целого
CSng Возвращает аргумент, преобразованный в признак числа обычной точности
CStr Возвращает аргумент, преобразованный в признак в виде строки
Fix Возвращает целую часть числа
Hex Возвращает строку, представляющую собой аргумент в шестнадцатеричной системе счисления
Int Возвращает целую часть числа
Oct Возвращает строку, представляющую собой аргумент в восьмеричной
системе счисления
Round Возвращает число, округленное до заданного числа десятичных позиций
Sgn Возвращает целое число, отражающее знак аргумента
Функции даты/времени
Эти функции возвращают текущие дату и время по компьютерному системному таймеру или управляют существующими значениями.
Функция Описание
Date Возвращает текущую системную дату
DateAdd Возвращает дату с добавленным заданным временным интервалом DateDiff Возвращает число дней, недель или лет между двумя заданными датами
DatePart Возвращает только день, месяц или год заданной даты
DateSeria1 Возвращает-значение в формате Date для заданных года, месяца и дня
DateValue Возвращает значение в формате Date
Day Возвращает число от 1 до 31, отражающее день месяца
Hour Возвращает число от 0 до 23, отражающее часы дня
Minute Возвращает число от 0 до 59, отражающее минуты
Month Возвращает число от 1 до 12, отражающее месяц в году
MonthName Возвращает название данного месяца в виде строки
Now Возвращает текущие дату и время
Second Возвращает число от 0 до 59, отражающее секунды
Time Возвращает значение в формате Date для текущего системного времени
TimeSerial Возвращает значение в формате Date для заданных часа, минуты и секунды
ТimeValue Возвращает значение в формате Date, содержащее время
Weekday Возвращает число, отражающее день недели
WeekdayName Возвращает название данного дня недели в виде строки
Year Возвращает число, отражающее год
Математические функции
Эти функции осуществляют математические операции над переменными, содержащими численные значения.
Функция Описание
Atn Возвращает арктангенс числа
Cos Возвращает косинус угла
Ехр Возвращает экспоненту в заданной степени
Log Возвращает натуральный логарифм числа
Randomize Инициализирует генератор случайных чисел
Rnd Возвращает случайное число
Sin Возвращает синус угла
Sqr Возвращает квадратный корень из числа
Tan Возвращает тангенс угла
Функции управления объектами
Эти функции используются для управления объектами там, где это нужно.
Функция Описание
CreateObject Создает и возвращает ссылку на объект ActiveX или OLE Automation GetObject Возвращает ссылку на объект Acti'veX или OLE Automation
LoadPicture Возвращает графический объект
Функции инициализации интерпретатора кода сценария
Эти функции возвращают версию интерпретатора кода сценария.
Функция Описание
ScriptEngine Строка, содержащая основной, дополнительный номера версии и номер разработки интерпретатора
ScriptEngineMajorVersion Основной номер версии интерпретатора ScriptEngineMinorVersion Дополнительный номер версии интерпретатора ScriptEngineBundVersion Номер разработки интерпретатора
Строковые функции
Эти функции используются для управления строковыми значениями переменных.
Функция Описание
Filter Возвращает массив, отобранный по заданному критерию из заданного массива строк
FormatCurrency Возвращает строку, отформатированную для представления денежных сумм
FormatDateTime Возвращает строку, отформатированную для представления даты и времени
FormatNumber Возвращает строку, отформатированную как число
FormatPercent Возвращает строку, отформатированную для представления процентного отношения
InStr Возвращает место первого появления одной строки
InStrB To же, но используется для работы с отдельными байтами. Возвращает положение байта, а не символа
InStrRev To же, что и InStr, но начинается с конца строки
Join Возвращает строку, образованную соединением всех строк массива
Lcase Возвращает строку, все символы которой преобразованы в cтрочные
Left Возвращает заданное число символов от левого конца строки
LeftB To же, но для работы с байтами. Вместо числа символов — число байтов
Len Возвращает длину строки или количество байт, необходимое для переменной LenB To же, но для работы с байтами. Вместо числа символов — число байтов
Ltrim Возвращает копию строки без начальных пробелов
Mid Возвращает заданное количество символов из строки
MidB To же, но для работы с байтами. Вместо числа символов — число байтов Replасе Возвращает строку, в которой одна заданная последовательность заменена другой заданное число раз
Right Возвращает заданное число символов от правого конца строки
RightB To же, но для работы с байтами. Вместо числа символов — число байтов Rtrim Возвращает копию строки без оконечных пробелов
Space Возвращает строку, состоящую из заданного количества пробелов
Split Возвращает одномерный массив, состоящий из заданного числа подстрок StrComp Возвращает значение, отражающее результат сравнения строк
String Возвращает строку заданной длины, образованную повторением одного символа
StrReverse Возвращает "отраженную" строку, в которой порядок символов противоположен исходной
Тrim Возвращает копию строки без ограничивающих пробелов
Ucase Возвращает строку, все символы которой преобразованы в прописные
Функции проверки переменных
Эти функции используются для определения типа информации, находящейся в переменной.
Функция Описание
IsArray Возвращает логическое значение (True/False), отражающее, является ли переменная массивом
IsDate Возвращает логическое значение (True/False), отражающее, может ли значение переменной быть преобразовано в формат даты/времени
IsEmpty Возвращает логическое значение (True/False), отражающее, инициализирована ли переменная
IsNull Возвращает логическое значение (True/False), отражающее, содержит ли переменная некорректные данные
IsNumeric Возвращает логическое значение (True/False), отражающее, является ли значение переменной числовым
IsObject Возвращает логическое значение (True/False), отражающее, является ли переменная ссылкой на действующий объект ActiveX или OLE Automation
VarType Возвращает число, отображающее номер типа переменной
Обработка ошибок
On Error Resume Next — указывает, что при появлении ошибки необходимо ее игнорировать и начать дальнейшую обработку кода со следующей строки.
Err — объект, содержащий информацию об ошибках выполнения. Возможности для обработки ошибок в VBScript ограничены, и для выяснения, произошла ли ошибка, необходимо явно проверять объект Err.
Процедуры:
Call — необязательный метод для вызова подпрограммы.
Function — используется для объявления функции.
Sub — используется для объявления подпрограммы.
Другие ключевые слова
Rem — старый метод для добавления комментариев в код.
Option Explicit — заставляет вас объявлять переменную до того, как она может быть использована.
Ход работы.
В
ходе работы необходимо создать модель
самокорректирующихся кодов
Хэмминга
в канале связи, используя возможности
браузера Internet
Explorer,
а также организовать доступ на сайт по
паролю и предварительную регистрацию
пользователя ресурса (рисунок 1):
Рис
1.
Внешний
вид демонстрационного сайта в среде
Internet
Explorer
MS.
Для выполнения работы необходимо воспользоваться встроенным в Windows редактором текста “Блокнот” Пуск→Все программы →Стандартные→Блокнот.
Однако возможности редактирования специализированного программного текста у Блокнота отсутствуют.
Поэтому для облегчения и корректировки специализированного текста желательно дополнительно установить программы сторонних разработчиков, например Notepad++. В этой программе существует поддержка кодов html ,которые необходимы для выполнения лабораторной работы.
Создать папку lab5 на диске D операционной системы Windows Рабочий стол→Мой компьютер→Жесткие диски→D→правая клавиша мышки→Создать папку→lab5.
Создать папку list1 в папке lab5 на диске D операционной системы Windows . Рабочий стол→Мой компьютер→Жесткие диски→D→lab5→правая клавиша мышки→Создать папку→list1. Аналогично создать еще две папки list2, list3 в папке lab5.
Добавить файлы из папки “материалы для выполнения лаб 5”:
папку images с файлом bg.png перенести из папки list1 в папку D:\list1.
Папку images с файлом bg.png перенести из папки list2 в папку D:\list2.
Папку list3 с файлами erth.gif ,orb1.gif,orb2.gif перенести в папку D:\list3.
Создать файл Index.html в папке d:\lab5\list1 операционной системы Windows
Для этого открыть текстовый редактор(Блокнот или Notepad++) и вставить следующий текст:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" href="style.css">
</head>
<body>
<form id="login">
<h1>Форма входа</h1>
<fieldset id="inputs">
<input id="username" type="text" name="Edit1" placeholder="Логин" autofocus required>
<input id="password" type="password" name="Edit2" placeholder="Пароль" required>
</fieldset>
<fieldset id="actions">
<input type="button" id="button" name="button1" value="Подтвердить">
<a href=" d:\lab5\list2\registr.html">Регистрация</a>
</fieldset>
</form>
</body></html>
Сохранить документ как d:\lab5\list1\Index.html.
Создать файл Style.css в папке d:\lab5\list1 операционной системы Windows
Для этого открыть текстовый редактор(Блокнот или Notepad++) и вставить следующий текст:
html, body
{ height: 90%;}
body
{ font: 12px 'Lucida Sans Unicode', 'Trebuchet MS', Arial, Helvetica;
margin: 0; background: url(images/bg.png) repeat; }
#login
{ background-color: #fff;
background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#eee));
background-image: -webkit-linear-gradient(top, #fff, #eee);
background-image: -moz-linear-gradient(top, #fff, #eee);
background-image: -ms-linear-gradient(top, #fff, #eee);
background-image: -o-linear-gradient(top, #fff, #eee);
background-image: linear-gradient(top, #fff, #eee);
height: 240px; width: 400px; margin: -150px 0 0 -230px; padding: 30px;
position: absolute; top: 50%; left: 50%; z-index: 0; -moz-border-radius: 3px;
-webkit-border-radius: 3px; border-radius: 3px; -webkit-box-shadow:
0 0 2px rgba(0, 0, 0, 0.2), 0 1px 1px rgba(0, 0, 0, .2),
0 3px 0 #fff, 0 4px 0 rgba(0, 0, 0, .2),
0 6px 0 #fff, 0 7px 0 rgba(0, 0, 0, .2);
-moz-box-shadow:
0 0 2px rgba(0, 0, 0, 0.2), 1px 1px 0 rgba(0, 0, 0, .1),
3px 3px 0 rgba(255, 255, 255, 1), 4px 4px 0 rgba(0, 0, 0, .1),
6px 6px 0 rgba(255, 255, 255, 1), 7px 7px 0 rgba(0, 0, 0, .1);
box-shadow:
0 0 2px rgba(0, 0, 0, 0.2), 0 1px 1px rgba(0, 0, 0, .2),
0 3px 0 #fff, 0 4px 0 rgba(0, 0, 0, .2),
0 6px 0 #fff, 0 7px 0 rgba(0, 0, 0, .2);}
#login:before
{ content: ''; position: absolute; z-index: -1;
border: 1px dashed #ccc; top: 5px; bottom: 5px; left: 5px; right: 5px;
-moz-box-shadow: 0 0 0 1px #fff; -webkit-box-shadow: 0 0 0 1px #fff;
box-shadow: 0 0 0 1px #fff; }
h1
{ text-shadow: 0 1px 0 rgba(255, 255, 255, .7), 0px 2px 0 rgba(0, 0, 0, .5);
text-transform: uppercase; text-align: center; color: #666;
margin: 0 0 30px 0; letter-spacing: 4px;
font: normal 26px/1 Verdana, Helvetica;
position: relative; }
fieldset
{ border: 0; padding: 0; margin: 0;}
#inputs input
{background: #f1f1f1 url(http://www.red-team-design.com/wp-content/uploads/2011/09/login-sprite.png) no-repeat;
padding: 15px 15px 15px 30px; margin: 0 0 10px 0;
width: 353px; /* 353 + 2 + 45 = 400 */
border: 1px solid #ccc; -moz-border-radius: 5px;
-webkit-border-radius: 5px; border-radius: 5px;
-moz-box-shadow: 0 1px 1px #ccc inset, 0 1px 0 #fff;
-webkit-box-shadow: 0 1px 1px #ccc inset, 0 1px 0 #fff;
box-shadow: 0 1px 1px #ccc inset, 0 1px 0 #fff; }
#username
{ background-position: 5px -2px !important;}
#password
{ background-position: 5px -52px !important;}
#inputs input:focus
{background-color: #fff;
border-color: #e8c291; outline: none;
-moz-box-shadow: 0 0 0 1px #e8c291 inset;
-webkit-box-shadow: 0 0 0 1px #e8c291 inset;
box-shadow: 0 0 0 1px #e8c291 inset; }
#actions
{ margin: 25px 0 0 0;}
#button
{ background-color: #ffb94b;
background-image: -webkit-gradient(linear, left top, left bottom, from(#fddb6f), to(#ffb94b));
background-image: -webkit-linear-gradient(top, #fddb6f, #ffb94b);
background-image: -moz-linear-gradient(top, #fddb6f, #ffb94b);
background-image: -ms-linear-gradient(top, #fddb6f, #ffb94b);
background-image: -o-linear-gradient(top, #fddb6f, #ffb94b);
background-image: linear-gradient(top, #fddb6f, #ffb94b);
-moz-border-radius: 3px; -webkit-border-radius: 3px;
border-radius: 3px; text-shadow: 0 1px 0 rgba(255,255,255,0.5);
-moz-box-shadow: 0 0 1px rgba(0, 0, 0, 0.3), 0 1px 0 rgba(255, 255, 255, 0.3) inset;
-webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0.3), 0 1px 0 rgba(255, 255, 255, 0.3) inset;
box-shadow: 0 0 1px rgba(0, 0, 0, 0.3), 0 1px 0 rgba(255, 255, 255, 0.3) inset;
border-width: 1px; border-style: solid;
border-color: #d69e31 #e3a037 #d5982d #e3a037;
float: left; height: 35px; padding: 0; width: 120px; cursor: pointer;
font: bold 15px Arial, Helvetica; color: #8f5a0a; }
#button:hover,#button:focus
{ background-color: #fddb6f;
background-image: -webkit-gradient(linear, left top, left bottom, from(#ffb94b), to(#fddb6f));
background-image: -webkit-linear-gradient(top, #ffb94b, #fddb6f);
background-image: -moz-linear-gradient(top, #ffb94b, #fddb6f);
background-image: -ms-linear-gradient(top, #ffb94b, #fddb6f);
background-image: -o-linear-gradient(top, #ffb94b, #fddb6f);
background-image: linear-gradient(top, #ffb94b, #fddb6f); }
#button:active
{outline: none;
-moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.5) inset;
-webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.5) inset;
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.5) inset;}
#button::-moz-focus-inner
{ border: none;}
#actions a
{color: #3151A2; float: right; line-height: 35px; margin-left: 10px;}
#back
{display: block; text-align: center; position: relative;
top: 60px; color: #999; }
Сохранить документ как d:\lab5\list1\Style.css.
Запустить файл d:\lab5\list1\Index.html на выполнение .
Чтобы запустить файл , ему в соответствии надо поставить программу запуска.
Для этого надо выделить иконку “Index.html”→ правая клавиша мышки→Свойства→Общие→Изменить→Выбрать программу для открытия этого файла→ОК→Применить.
Или другим способом выделить иконку “Index.html”→ правая клавиша мышки→Открыть с помощью→Internet Explorer.
З
апуститься
программа Internet
Explorer
(рисунок 2):
Рисунок
2. Страница “
Форма
входа
”.
7. Создать файл Registr.html в папке d:\lab5\list2 операционной системы Windows
Для этого открыть текстовый редактор(Блокнот или Notepad++) и вставить следующий текст:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" href="style.css">
</head>
<body>
<form id="login">
<h1>Регистрация</h1>
<fieldset id="inputs">
<input id="username" type="text" name="edit1" placeholder="Логин" autofocus required>
<input id="password" type="password" name="edit2" placeholder="Пароль" required>
</fieldset>
<fieldset id="actions">
<input type="button" id="button" name="button" value="Подтвердить">
<a href="d:\lab5\list1\index.html">Вернуться на главную страницу</a>
</fieldset>
</form>
</body>
</html>
Сохранить документ как d:\lab5\list2\Registr.html.
Создать файл Style.css в папке d:\lab5\list2 операционной системы Windows
Для этого открыть текстовый редактор(Блокнот или Notepad++) и вставить следующий текст:
html, body
{ height: 90%; }
body
{ font: 12px 'Lucida Sans Unicode', 'Trebuchet MS', Arial, Helvetica;
margin: 0; background: url(images/bg.png) repeat; }
#login
{ background-color: #fff;
background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#eee));
background-image: -webkit-linear-gradient(top, #fff, #eee);
background-image: -moz-linear-gradient(top, #fff, #eee);
background-image: -ms-linear-gradient(top, #fff, #eee);
background-image: -o-linear-gradient(top, #fff, #eee);
background-image: linear-gradient(top, #fff, #eee);
height: 240px; width: 400px; margin: -150px 0 0 -230px; padding: 30px;
position: absolute; top: 50%; left: 50%; z-index: 0;
-moz-border-radius: 3px; -webkit-border-radius: 3px; border-radius: 3px;
-webkit-box-shadow:
0 0 2px rgba(0, 0, 0, 0.2), 0 1px 1px rgba(0, 0, 0, .2),
0 3px 0 #fff, 0 4px 0 rgba(0, 0, 0, .2),
0 6px 0 #fff, 0 7px 0 rgba(0, 0, 0, .2);
-moz-box-shadow:
0 0 2px rgba(0, 0, 0, 0.2), 1px 1px 0 rgba(0, 0, 0, .1),
3px 3px 0 rgba(255, 255, 255, 1), 4px 4px 0 rgba(0, 0, 0, .1),
6px 6px 0 rgba(255, 255, 255, 1), 7px 7px 0 rgba(0, 0, 0, .1);
box-shadow:
0 0 2px rgba(0, 0, 0, 0.2), 0 1px 1px rgba(0, 0, 0, .2),
0 3px 0 #fff, 0 4px 0 rgba(0, 0, 0, .2),
0 6px 0 #fff, 0 7px 0 rgba(0, 0, 0, .2); }
#login:before
{ content: '';
position: absolute;
z-index: -1;
border: 1px dashed #ccc;
top: 5px;
bottom: 5px;
left: 5px;
right: 5px;
-moz-box-shadow: 0 0 0 1px #fff;
-webkit-box-shadow: 0 0 0 1px #fff;
box-shadow: 0 0 0 1px #fff; }
h1
{ text-shadow: 0 1px 0 rgba(255, 255, 255, .7), 0px 2px 0 rgba(0, 0, 0, .5);
text-transform: uppercase; text-align: center; color: #666;
margin: 0 0 30px 0; letter-spacing: 4px; font: normal 26px/1 Verdana, Helvetica;
position: relative; }
fieldset
{ border: 0; padding: 0; margin: 0; }
#inputs input
{ background: #f1f1f1 url(http://www.red-team-design.com/wp-content/uploads/2011/09/login-sprite.png) no-repeat;
padding: 15px 15px 15px 30px; margin: 0 0 10px 0;
width: 353px; /* 353 + 2 + 45 = 400 */
border: 1px solid #ccc;
-moz-border-radius: 5px; -webkit-border-radius: 5px;
border-radius: 5px; -moz-box-shadow: 0 1px 1px #ccc inset, 0 1px 0 #fff;
-webkit-box-shadow: 0 1px 1px #ccc inset, 0 1px 0 #fff;
box-shadow: 0 1px 1px #ccc inset, 0 1px 0 #fff; }
#username
{ background-position: 5px -2px !important; }
#password
{ background-position: 5px -52px !important; }
#inputs input:focus
{ background-color: #fff;
border-color: #e8c291; outline: none;
-moz-box-shadow: 0 0 0 1px #e8c291 inset;
-webkit-box-shadow: 0 0 0 1px #e8c291 inset;
box-shadow: 0 0 0 1px #e8c291 inset; }
#actions
{ margin: 25px 0 0 0;}
#button
{ background-color: #ffb94b;
background-image: -webkit-gradient(linear, left top, left bottom, from(#fddb6f), to(#ffb94b));
background-image: -webkit-linear-gradient(top, #fddb6f, #ffb94b);
background-image: -moz-linear-gradient(top, #fddb6f, #ffb94b);
background-image: -ms-linear-gradient(top, #fddb6f, #ffb94b);
background-image: -o-linear-gradient(top, #fddb6f, #ffb94b);
background-image: linear-gradient(top, #fddb6f, #ffb94b);
-moz-border-radius: 3px; -webkit-border-radius: 3px;
border-radius: 3px;
text-shadow: 0 1px 0 rgba(255,255,255,0.5);
-moz-box-shadow: 0 0 1px rgba(0, 0, 0, 0.3), 0 1px 0 rgba(255, 255, 255, 0.3) inset;
-webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0.3), 0 1px 0 rgba(255, 255, 255, 0.3) inset;
box-shadow: 0 0 1px rgba(0, 0, 0, 0.3), 0 1px 0 rgba(255, 255, 255, 0.3) inset;
border-width: 1px; border-style: solid;
border-color: #d69e31 #e3a037 #d5982d #e3a037;
float: left; height: 35px; padding: 0; width: 120px; cursor: pointer;
font: bold 15px Arial, Helvetica; color: #8f5a0a; }
#button:hover,#button:focus
{ background-color: #fddb6f;
background-image: -webkit-gradient(linear, left top, left bottom, from(#ffb94b), to(#fddb6f));
background-image: -webkit-linear-gradient(top, #ffb94b, #fddb6f);
background-image: -moz-linear-gradient(top, #ffb94b, #fddb6f);
background-image: -ms-linear-gradient(top, #ffb94b, #fddb6f);
background-image: -o-linear-gradient(top, #ffb94b, #fddb6f);
background-image: linear-gradient(top, #ffb94b, #fddb6f); }
#button:active
{ outline: none; -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.5) inset;
-webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.5) inset;
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.5) inset; }
#button::-moz-focus-inner
{ border: none; }
#actions a
{ color: #3151A2; float: right; line-height: 35px; margin-left: 10px; }
#back
{ display: block; text-align: center; position: relative;
top: 60px;color: #999; }
Сохранить документ как d:\lab5\list2\Style.css.
9. Запустить файл d:\lab5\list2\Registr.html на выполнение .
Чтобы запустить файл , ему в соответствии надо поставить программу запуска.
Для этого надо выделить “Registr.html”→правая клавиша мышки→Свойства-Общие→Изменить→Выбрать программу для открытия этого файла-ОК→Применить.
Или другим способом выделить “Registr.html”→правая клавиша мышки-Открыть с помощью →Internet Explorer.
З
Рисунок
3. Страница регистрации.
10. Создать файл Model.html в папке d:\lab5\list3 операционной системы Windows
Для этого открыть текстовый редактор(Блокнот или Notepad++) и вставить следующий текст:
<html>
<head>
<title>Демонстрационная модель самокорректирующихся кодов Хэмминга в канале связи </title>
</head>
<body bgcolor="#FFFFFF">
<img id="imgErth"
src="d:\lab5\list3\erth.gif" align="left">
<style>
div
{position: absolute;}
.light4
{font-size: 28pt;top:-2;left:-2;color:yellow;}
.shade4
{font-size: 28pt;top:+2;left:+2;color:orange;}
.fill4
{font-size: 28pt;top:0;left:0;color:purple;}
</style>
<div>
<div class="light4">
<center>Модель самокорректирующихся кодов Хэмминга в канале связи.</center></div>
<div class="shade4">
<center>Модель самокорректирующихся кодов Хэмминга в канале связи.</center></div>
<div class="fill4">
<center>Модель самокорректирующихся кодов Хэмминга в канале связи.</center></div>
</div>
<br><br><br>
<P><b>Проверке подвергается произвольная парольная фраза с любыми символами ANCII.
Передача данных в канале связи возможна без ошибок или с ошибками.
Программа искусственно эмулирует случайное количество ошибок в парольной фразе
(но не больше количество введенных символов).
При этом ошибка используется только в одном двоичном разряде передаваемого символа ,
так как дальнейшее увеличение ошибок только ухудшает достоверность информации.
После передачи информации по каналу связи программно можно восстановить потерянную информацию.
</b></P>
<br>
<left>
<table border="1">
<tr>
<td valign="top"width="30%"><font size="4"><strong>Примеры парольных фраз:</strong></font></td>
<td valign="top" width="30%">
<select ID=ListBox size="1">
<option value=1>Прошлого не вытравить,не выкрасть.
<option value=2>Растерять легко по пустякам.
<option value=3>Быть самым-самым первым.
<option value=4>За призванье надо биться.
<option value=5>Произность чужие мысли вслух.
<option value=6>Друзей без вниманья оставить нельзя.
<option value=7>Мой дом-моя крепость!
</select>
</td>
</tr>
<tr>
<td valign="top"><font size="4"><strong>Парольная фраза:</strong></font></td>
<td valign="top"><input type="text" size="43" name="Edit1"></td>
</tr>
<tr>
<td valign="top"><font size="4"><strong>Данные для передачи в канал связи:</strong></font></td>
<td valign="top"><input type="text" size="43" name="Edit2"></td>
</tr>
<tr>
<td valign="top" width="30%"><font size="4"><strong>Парольная фраза переданная по каналу связи :</strong></font></td>
<td valign="top" width="30%"><input type="text" size="43" name="Edit6"></td>
<td valign="top"width="30%" ><input type="text" size="43" name="Edit8"></td>
</tr>
<tr>
<td valign="top" width="35%">
<input type="button" name="Button1" value="Обработать данные кодом Хэмминга">
</td>
<td valign="top"width="35%">
<input type="button" name="Button2" value="Передать по каналу связи без ошибок">
</td>
<td valign="top" width="35%">
<input type="button" name="Button3" value="Передать по каналу связи с N ошибками">
</td>
</tr>
<tr>
<td valign="top"><font size="4"><strong>Количество ошибок в канале связи (N):</strong></font></td>
<td valign="top"><input type="text" size="5" name="Edit3"></td>
</tr>
<tr>
<td valign="top"><font size="4"><strong>Количество исправленных ошибок:</strong></font></td>
<td valign="top"><input type="text" size="5" name="Edit4"></td>
</tr>
<tr>
<td valign="top"><font size="4"><strong>Количество ошибок контрольных разрядов:</strong></font></td>
<td valign="top"><input type="text" size="5" name="Edit5"></td>
</tr>
<tr>
<td valign="top"><font size="4"><strong>Восстановленная парольная фраза:</strong></font></td>
<td valign="top"><input type="text" size="43" name="Edit7"></td>
</tr>
<tr>
<td valign="top"><input type="button" name="Button4" value="Востановить данные"></td>
<td>
<marquee ID=idMrq01 scrollAmount=5 direction="right"
OnMouseOver="VBScript:idMrq01.scrollAmount=0"
OnMouseOut="VBScript:idMrq01.scrollAmount=4">
<img src="d:\lab5\list3\orb1.gif" border=0>
<img src="d:\lab5\list3\orb1.gif" border=0>
<img src="d:\lab5\list3\orb1.gif" border=0>
<img src="d:\lab5\list3\orb1.gif" border=0>
<img src="d:\lab5\list3\orb1.gif" border=0>
</marquee>
</td>
<td>
<marquee ID=idMrq02 scrollAmount=5 direction="right"
OnMouseOver="VBScript:idMrq02.scrollAmount=0"
OnMouseOut="VBScript:idMrq02.scrollAmount=4">
<img src="d:\lab5\list3\orb2.gif" border=0>
<img src="d:\lab5\list3\orb2.gif" border=0>
<img src="d:\lab5\list3\orb2.gif" border=0>
<img src="d:\lab5\list3\orb2.gif" border=0>
<img src="d:\lab5\list3\orb2.gif" border=0>
</marquee>
</td>
</tr>
</table>
</left>
</body>
</html>
Сохранить документ как d:\lab5\list3\Model.html.
11. Запустить файл d:\lab5\list3\Model.html на выполнение (рисунок 4):
Рисунок
4. Модель кодов Хэмминга в канале связи.
Для запуска элементов управления на всех страницах демонстрационной модели необходимо подключить сценарий выполнения операций –скриптовый сценарий.
Используем для этого язык программирования VBS (Visual Basic Scripting Edition), основанный на языке Visual Basic.Этот язык понимает программа-браузер Internet Explorer.
Подключим скриптовые сценарии во все созданные страницы html.
12. Подключим код для работы формы доступа. Для этого необходимо в Блокноте или Notepad++ открыть исходный код страницы Index.html и добавить следующий фрагмент скрипта в заголовок, то есть между тегами <head> и </head>:
<SCRIPT LANGUAGE="VBScript">
<!--Для работы с несовместимым броузерами
Dim parol,login
Dim username, password
sub button1_OnClick()
username=document.all.Edit1.value
password=document.all.Edit2.value
Set a=CreateObject("Scripting.FileSystemObject")
papka="d:\dostup\"
