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

на главную

Жанры

Windows Script Host для Windows 2000/XP

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

Шрифт:

this.CurRecord--;

}

//Переход к первой записи

function ListPersons_FirstRecord {

 this.CurRecord = 0;

}

//Переход к последней записи

function ListPersons_FinalRecord {

 this.CurRecord = this.PersonArr.length - 1;

}

//Добавление новой записи

function ListPersons_NewRecord {

 var Root,NewElem;

 //Сохраняем
в переменной Root ссылку на корневой элемент

 //документа

 Root=XML.documentElement;

 //Создаем новый элемент Person

 NewElem=XML.createElement("Person");

 //Добавляем новый элемент в XML-файл

 Root.appendChild(NewElem);

 //Сохраняем XML-файл на диске

 XML.save(PathBook);

 //Обновлем в форме данные для последней добавленной записи

 this.RefreshDialog(false);

}

//Удаление текущей записи

function ListPersons_DelRecord {

 var Root,DelNom;

 //Сохраняем в переменной Root ссылку на корневой элемент

 //документа

 Root=XML.documentElement;

 //В переменной DelNom сохраняем номер удаляемого элемента Person

 DelNom=this.CurRecord+1;

 //Удаляем DelNom-й элемент Person из XML-файла

 Root.removeChild(Root.childNodes.item(DelNom))

 //Сохраняем XML-файл на диске

 XML.save(PathBook);

 //Выводим сообщение о том, что запись удалена

 WshShell.Popup("Запись N "+DelNom+" удалена",0,"Информация",

vbInformation+vbOkOnly);

 //Обновлем в форме данные для первой записи

 this.RefreshDialog(true);

}
 

Вывод формы из сценария WSH

Для того чтобы вывести из сценария WSH разработанную HTML-форму на экран, нужно вначале получить ссылку на объект

Application
, который определяется в объектной модели Internet Explorer. Делается это следующим образом:

var ie = WScript.CreateObject("InternetExplorer.Application", "ie_");

При этом в память загружается новый экземпляр Internet Explorer, а ссылка на этот объект присваивается переменной

ie
(само окно браузера по умолчанию невидимо, для его отображения на экране необходимо установить свойство
Visible
объекта
Application
в 1). В качестве второго параметра метода
CreateObject
указан префикс "
ie
_", посредством которого мы сможем написать функции-обработчики событий Internet Explorer.

Внешний вид браузера Internet Explorer настраивается с помощью

нескольких свойств объекта
Application
:

//Устанавливаем свойства объекта ie для отображения формы

ie.AddressBar = false; //Адресная строка не выводится

ie.Fullscreen = false; //Полноэкранный режим запрещен

ie.MenuBar = false; //Главное меню браузера не выводится

ie.Resizable = false; //Изменять размеры окна нельзя

ie.StatusBar = false; //Строка статуса не выводится

ie.ToolBar = false; //Инструментальная панель не выводится

//Устанавливаем размеры окна

ie.Height = 300; //Высота

ie.Width = 780; //Длина

Для того чтобы загрузить в браузер нужный нам файл Phone.htm с описанием формы, используется метод Navigate объекта Application:

ie.Navigate(PathHTML);

В качестве параметра метода

Navigate
указывается путь к файлу Phone.htm, который заранее устанавливается в функции
InitPath
:

function InitPath {

 BasePath=WshShell.CurrentDirectory+"\\";

 //Путь к файлу с данными

 PathBook=BasePath+"book.xml";

 //Путь к файлу с HTML-формой

 PathHTML=BasePath+"Phone.htm";

}

Далее следует учесть, что сценарий WSH и окно браузера, в котором загружена форма, — это два независимых процесса. Поэтому в сценарии после загрузки формы в окно браузера необходимо дождаться, пока пользователь не закроет это окно. Для этого мы присвоим глобальной переменной

IsQuit
значение
false
и заставим сценарий выполняться до тех пор, пока значение этой переменной не станет равным
true
:

while (!IsQuit)

 //Приостанавливаем сценарий на 0,1 сек

 WScript.Sleep(100);

При закрытии формы будет генерироваться событие

OnQuit
объекта
Application
, поэтому мы напишем функцию-обработчик
ie_OnQuit
этого события, в которой будем устанавливать
isQuit
в
true
и сохранять в XML- файле данные, которые были изменены в форме (листинг 7.9).

Листинг 7.9. Функция-обработчик закрытия окна браузера

function ie_OnQuit {

 IsQuit=true;

 //Сохраняем данные из формы в XML-файле

 objListPersons.SaveData;

}

В нашем сценарии загрузка в браузер HTML-файла с формой будет производиться в основной запускной функции

Main
(листинг 7.10).

Листинг 7.10. Функция Main

function Main {

 //Создаем объект WshShell

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

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

Попаданка в академии драконов 2

Свадьбина Любовь
2. Попаданка в академии драконов
Любовные романы:
любовно-фантастические романы
6.95
рейтинг книги
Попаданка в академии драконов 2

Береги честь смолоду

Вяч Павел
1. Порог Хирург
Фантастика:
фэнтези
попаданцы
рпг
5.00
рейтинг книги
Береги честь смолоду

Клан

Русич Антон
2. Долгий путь домой
Фантастика:
боевая фантастика
космическая фантастика
5.60
рейтинг книги
Клан

Афганский рубеж

Дорин Михаил
1. Рубеж
Фантастика:
попаданцы
альтернативная история
7.50
рейтинг книги
Афганский рубеж

Физрук: назад в СССР

Гуров Валерий Александрович
1. Физрук
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Физрук: назад в СССР

Огни Аль-Тура. Желанная

Макушева Магда
3. Эйнар
Любовные романы:
любовно-фантастические романы
эро литература
5.25
рейтинг книги
Огни Аль-Тура. Желанная

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

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

(не)Бальмануг.Дочь

Лашина Полина
7. Мир Десяти
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
(не)Бальмануг.Дочь

Внешняя Зона

Жгулёв Пётр Николаевич
8. Real-Rpg
Фантастика:
фэнтези
попаданцы
рпг
5.00
рейтинг книги
Внешняя Зона

Измена. Верни мне мою жизнь

Томченко Анна
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Измена. Верни мне мою жизнь

Везунчик. Проводник

Бубела Олег Николаевич
3. Везунчик
Фантастика:
фэнтези
6.62
рейтинг книги
Везунчик. Проводник

Особое назначение

Тесленок Кирилл Геннадьевич
2. Гарем вне закона
Фантастика:
фэнтези
6.89
рейтинг книги
Особое назначение

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

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

Проклятый Лекарь IV

Скабер Артемий
4. Каратель
Фантастика:
попаданцы
аниме
5.00
рейтинг книги
Проклятый Лекарь IV