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

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

Жанры

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

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

Я все еще не князь. Книга XV

Дрейк Сириус
15. Дорогой барон!
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Я все еще не князь. Книга XV

Кодекс Охотника. Книга XVII

Винокуров Юрий
17. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Охотника. Книга XVII

Вперед в прошлое 6

Ратманов Денис
6. Вперед в прошлое
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Вперед в прошлое 6

Черный дембель. Часть 4

Федин Андрей Анатольевич
4. Черный дембель
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Черный дембель. Часть 4

Двойник короля 13

Скабер Артемий
13. Двойник Короля
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Двойник короля 13

Железный Воин Империи

Зот Бакалавр
1. Железный Воин Империи
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Железный Воин Империи

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

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

Локки 8. Потомок бога

Решетов Евгений Валерьевич
8. Локки
Фантастика:
фэнтези
боевая фантастика
героическая фантастика
попаданцы
5.00
рейтинг книги
Локки 8. Потомок бога

Идеальный мир для Лекаря

Сапфир Олег
1. Лекарь
Фантастика:
фэнтези
юмористическое фэнтези
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря

Мятежник

Прокофьев Роман Юрьевич
4. Стеллар
Фантастика:
боевая фантастика
7.39
рейтинг книги
Мятежник

Лондон

Резерфорд Эдвард
The Big Book
Проза:
историческая проза
6.67
рейтинг книги
Лондон

Идеальный мир для Лекаря 27

Сапфир Олег
27. Лекарь
Фантастика:
аниме
фэнтези
5.00
рейтинг книги
Идеальный мир для Лекаря 27

Институт

Кинг Стивен
Фантастика:
зарубежная фантастика
5.00
рейтинг книги
Институт

Ученик. Книга третья

Первухин Андрей Евгеньевич
3. Ученик
Фантастика:
фэнтези
7.64
рейтинг книги
Ученик. Книга третья