Чтение онлайн

на главную - закладки

Жанры

Windows Script Host для Windows 2000/XP

Попов Андрей Викторович

Шрифт:

Рис. 7.2. Кнопочное меню для работы с записной книжкой

Диалоговое окно, показанное на рис. 7.2, выводится в цикле

while
, в котором с помощью оператора
switch
анализируется введенный пользователем символ. Выход из цикла совершается, если введенный символ совпадает с "q" или "Q".

Текст сценария ComMenu.wsf, реализующего кнопочное

меню для работы с записной книжкой, приводится в листинге 7.5.

Листинг 7.5. Командное меню для работы с записной книжкой

<job id="ComMenu">

<script language="VBScript" src="WSHInputBox.vbs"/>

<script language="JScript">

 var WshShell,SMenu,Res;

 WshShell=WScript.CreateObject("WScript.Shell");

 SMenu="[L] - Просмотр содержимого книжки\n";

 SMenu+="[F] - Поиск по фамилии\n";

 SMenu+="[A] - Добавление записи\n";

 SMenu+="[D] - Удаление записи\n";

 SMenu+="[Q] - Выход из сценария\n";

 SMenu+="\n\nКоманда:";

 Res="";

 while ((Res!="q") && (Res!="Q")) {

Res=WSHInputBox(SMenu,"Записная книжка");

switch (Res) {

case "L": {

WshShell.Run("wscript PhoneBook.wsf //Job:SortName",1,true);

break;

}

case "l": {

WshShell.Run("wscript PhoneBook.wsf //Job:SortName",1,true);

break;

}

case "F": {

WshShell.Run("wscript PhoneBook.wsf //Job:FindName",1,true);

break;

}

case "f": {

WshShell.Run("wscript PhoneBook.wsf //Job:FindName",1,true);

break;

}

case "A": {

WshShell.Run("wscript PhoneBook.wsf //Job:AddRec",1,true);

break;

}

case "a": {

WshShell.Run("wscript PhoneBook.wsf //Job:AddRec",1,true);

break;

}

case "D": {

WshShell.Run("wscript PhoneBook.wsf //Job:DelRec",1,true);

break;

}

case "d": {

WshShell.Run("wscript PhoneBook.wsf //Job:DelRec",1,true);

break;

}

 }

}

</script>

</job>

Однозадачный

сценарий для работы с записной книжкой

Как мы видим из вышеприведенных примеров, ни объектная модель WSH, ни языки JScript и VBScript не предоставляют средств для создания полноценного графического интерфейса пользователя.

Тем не менее, такой интерфейс в сценариях WSH создать можно. Мы продемонстрируем это на примере еще одного сценария (состоящего из однозадачного JScript-файла) для работы с записной книжкой, в котором для диалога с пользователем будет организована пользовательская форма с несколькими кнопками и текстовыми полями ввода. Для создания этой формы и работы с ней будут использоваться HTML-файл и браузер Internet Explorer.

Использование Internet Explorer для создания диалоговых окон

Процесс создания сценария WSH, использующего Internet Explorer в качестве интерфейса, можно условно разделить на несколько этапов:

создание HTML-формы в отдельном файле;

написание функции для сценария WSH, в которой будет производиться вывод на экран построенной формы;

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

добавление в сценарий функций-обработчиков событий, связанных с поведением браузера Internet Explorer;

добавление в сценарий функций-обработчиков событий, которые генерируются элементами управления в форме.

Ниже мы рассмотрим каждый из этих этапов на примере создания сценария IEPhoneBook.js для работы с записной книжкой, которая хранится, как и прежде, в XML-файле book.xml.

Разработка HTML-формы для диалогового окна

В качестве интерфейса записной книжки мы создадим диалоговое окно (пользовательскую форму), которое показано на рис. 7.3.

Рис. 7.3. Диалоговое окно для работы с записной книжкой

Эта форма реализуется с помощью HTML-файл Phone.htm, который полностью приведен в листинге 7.6.

В самом начале файла Phone.htm ставится тег

<html>
, указывающий на то, что содержимым файла является текст в формате HTML, а также теги
<head>
и
</head>
, внутри которых задаются используемая кодировка (
charset=windows-1251
) и заголовок формы (теги
<title>
и
</title>
):

Поделиться:
Популярные книги

Точка Бифуркации XVI

Смит Дейлор
16. ТБ
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Точка Бифуркации XVI

Путь Шедара

Кораблев Родион
4. Другая сторона
Фантастика:
боевая фантастика
6.83
рейтинг книги
Путь Шедара

Ассасин

Мелан Вероника
1. Город
Фантастика:
фэнтези
8.54
рейтинг книги
Ассасин

Дважды одаренный. Том VIII

Тарс Элиан
8. Дважды одаренный
Фантастика:
боевая фантастика
альтернативная история
аниме
попаданцы
5.40
рейтинг книги
Дважды одаренный. Том VIII

Первый среди равных. Книга IV

Бор Жорж
4. Первый среди Равных
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Первый среди равных. Книга IV

Точка Бифуркации XI

Смит Дейлор
11. ТБ
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Точка Бифуркации XI

Неучтенный элемент. Том 12

NikL
12. Антимаг. Вне системы
Фантастика:
фэнтези
5.00
рейтинг книги
Неучтенный элемент. Том 12

Крымская война

Семанов Сергей Николаевич
Великие войны
Проза:
историческая проза
5.00
рейтинг книги
Крымская война

Изменяющий-Механик. Компиляция. Книги 1-18

Усманов Хайдарали
Собрание сочинений
Фантастика:
боевая фантастика
космическая фантастика
5.00
рейтинг книги
Изменяющий-Механик. Компиляция. Книги 1-18

Собрание сочинений, том 15

Энгельс Фридрих
15. Собрание сочинений Маркса и Энгельса
Научно-образовательная:
философия
5.00
рейтинг книги
Собрание сочинений, том 15

Отморозок 2

Поповский Андрей Владимирович
2. Отморозок
Фантастика:
попаданцы
5.50
рейтинг книги
Отморозок 2

Три влечения

Рюриков Юрий Борисович
Научно-образовательная:
психология
семейная психология
5.00
рейтинг книги
Три влечения

Личинка

Привалов Сергей
1. Звездный Бродяга
Фантастика:
боевая фантастика
космическая фантастика
рпг
попаданцы
5.00
рейтинг книги
Личинка

Вяземская катастрофа

Лопуховский Лев Николаевич
Малоизвестные страницы истории
Документальная литература:
биографии и мемуары
военная документалистика
5.50
рейтинг книги
Вяземская катастрофа