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

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

Жанры

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

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

Элизиум. Аликс и монеты

Андерсон Александр
1. Элизиум
Фантастика:
фэнтези
сказочная фантастика
8.98
рейтинг книги
Элизиум. Аликс и монеты

Третий

INDIGO
Фантастика:
космическая фантастика
попаданцы
5.00
рейтинг книги
Третий

Мечник Вернувшийся 1000 лет спустя. Том 2

Ткачев Андрей Юрьевич
2. Вернувшийся мечник
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Мечник Вернувшийся 1000 лет спустя. Том 2

Андер Арес

Грехов Тимофей
1. Андер Арес
Фантастика:
рпг
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Андер Арес

Граф

Ланцов Михаил Алексеевич
6. Помещик
Фантастика:
альтернативная история
5.00
рейтинг книги
Граф

Учитель из прошлого тысячелетия

Еслер Андрей
6. Соприкосновение миров
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Учитель из прошлого тысячелетия

Страж Кодекса. Книга V

Романов Илья Николаевич
5. КО: Страж Кодекса
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Страж Кодекса. Книга V

На границе империй. Том 8

INDIGO
12. Фортуна дама переменчивая
Фантастика:
космическая фантастика
попаданцы
5.00
рейтинг книги
На границе империй. Том 8

Родословная. Том 1

Ткачев Андрей Юрьевич
1. Линия крови
Фантастика:
городское фэнтези
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Родословная. Том 1

Жена неверного ректора Полицейской академии

Удалова Юлия
Любовные романы:
любовно-фантастические романы
4.25
рейтинг книги
Жена неверного ректора Полицейской академии

Последний реанорец. Том III

Павлов Вел
2. Высшая Речь
Фантастика:
фэнтези
попаданцы
5.25
рейтинг книги
Последний реанорец. Том III

Кодекс Крови. Книга VIII

Борзых М.
8. РОС: Кодекс Крови
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Крови. Книга VIII

Вечный. Книга VII

Рокотов Алексей
7. Вечный
Фантастика:
боевая фантастика
рпг
попаданцы
5.00
рейтинг книги
Вечный. Книга VII

На границе империй. Том 10. Часть 1

INDIGO
Вселенная EVE Online
Фантастика:
космическая фантастика
попаданцы
5.00
рейтинг книги
На границе империй. Том 10. Часть 1