Windows Script Host для Windows 2000/XP - Андрей Попов
Шрифт:
Интервал:
Закладка:
'*******************************************************************
' РРјСЏ: StdOut1.vbs
' Язык: VBScript
' Описание: Пример использования методов StdOut.Write и StdOut.WriteLine
'*******************************************************************
Option Explicit
Dim n  ' Объявляем переменную
n=1+2
' Печать без перевода строки
WScript.StdOut.Write "Рспользование метода "
' Выводим строку с текущей позиции курсора
WScript.StdOut.WriteLine "StdOut.WriteLine"
ЗамечаниеВ Windows ХРсимволы кириллицы, посылаемые из сценария в стандартный выходной поток, должны быть представлены в Windows-кодировке (CP 1251). В предыдущих версиях Windows для корректного отображения на экране символы кириллицы при использовании потока WScript.StdOut должны быть в DOS-кодировке (OEM 866).
Как и при использовании метода WScript.Echo, в качестве параметра метода WriteLine можно указывать строки, содержащие символы перевода строки (листинги 2.7 и 2.8).
Листинг 2.7. Вывод в StdOut сразу нескольких строк (JScript)/*******************************************************************/
/* РРјСЏ: StdOu2.jsВ В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В */
/* Язык: JScript                                                  */
/* Описание: Вывод сразу нескольких строк (StdOut.WriteLine)      */
/*******************************************************************/
var s; //Объявляем переменную
s="Примерnвыводаnнесколькихnстрок"; //Формируем строки
WScript.StdOut.WriteLine(s); //Выводим строки
/************* Конец *********************************************/
Листинг 2.8. Вывод в StdOut сразу нескольких строк (VBScript)'*******************************************************************
' РРјСЏ: StdOut2.vbs
' Язык: VBScript
' Описание: Вывод сразу нескольких строк (StdOut.WriteLine)
'*******************************************************************
Option Explicit
Dim s ' Объявляем переменную
' Формируем строки
s="Пример"&vbCrLf&"вывода"&vbCrLf&"нескольких"&vbCrLf&"строк"
WScript.StdOut.WriteLine s ' Выводим строки
'************* Конец *********************************************
Для создания более компактного текста сценария можно сразу сохранить ссылку на стандартный выходной поток WScript.StdOut в отдельную переменную и затем при вызове методов Write и WriteLine использовать эту переменную (листинги 2.9 и 2.10).
Листинr 2.9. Сохранение ссылки на поток StdOut в переменной (JScript)/*******************************************************************/
/* РРјСЏ: StdOut3.jsВ В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В */
/* Язык: JScript                                                  */
/* Описание: Пример использования метода StdOut.WriteLine         */
/*******************************************************************/
var n,StdOut; //Объявляем переменные
n=1+2;
StdOut=WScript.StdOut; //Сохраняем ссылку на StdOut в переменной
//Выводим строки в StdOut
StdOut.WriteLine("Пример использования метода StdOut.WriteLine() ...");
StdOut.WriteLine("1+2="+n);В
/************* Конец *********************************************/
Листинr 2.10. Сохранение ссылки на поток StdOut в переменной (VBScript)'*******************************************************************
' РРјСЏ: StdOut3.vbs
' Язык: JScript
' Описание: Пример использования метода StdOut.WriteLine
'*******************************************************************
Option Explicit
Dim n,StdOut ' Объявляем переменные
n=1+2
Set StdOut=WScript.StdOut ' Сохраняем ссылку на StdOut в переменной
' Выводим строки в StdOut
StdOut.WriteLine "Рто пример использования метода StdOut.WriteLine() ..."
StdOut.WriteLine "1+2=" & n
'************* Конец *********************************************
Функция MsgBox языка VBScript
В языке VBScript существует специальная функция MsgBox, с помощью которой можно выводить информацию в диалоговое окно с несколькими кнопками; также в этом окне можно задавать заголовок и значок (рис. 2.5).
Рис. 2.5. Диалоговое окно, созданное с помощью функции MsgBox
Пример сценария, создающего такое диалоговое окно, приведен в листинге 2.11.
ЗамечаниеВ языке JScript аналога функции MsgBox нет.
Листинг 2.11. Создание диалогового окна с помощью функции MsgBox (VBScript)'*******************************************************************
' РРјСЏ: MsgBox.vbs
' Язык: VBScript
' Описание: Пример использования функции MsgBox
'*******************************************************************
Dim Res,Text,Title ' Объявляем переменные
Text="Пример вывода строк в диалоговое" & vbCrLf & " окно VBScript"
Title="Заголовок"
' Выводим диалоговое окно на экран
Res=MsgBox(Text,vbOkCancel+vbInformation+vbDefaultButton2,Title)
' Определяем, какая из кнопок была нажата в диалоговом окне
If Res=vbOk Then
 MsgBox "Нажата кнопка OK"
Else
 MsgBox "Нажата кнопка Отмена"
End If
'************* Конец *********************************************
Подробное описание функции MsgBox приведено в приложении 1. Здесь же мы отметим только то, что значением функции MsgBox является константа, соответствующая нажатой в диалоговом окне кнопки (в нашем примере такими константами являются vbOk и vbCancel). Таким образом, MsgBox может использоваться в сценариях для организации выбора пользователем одного из возможных вариантов, однако это не совсем удобно, т.к. надписи на кнопках нельзя задавать произвольным образом (можно указать только OK, Отмена, Стоп, Повтор, Пропустить, Да и Нет).
Метод Popup объекта WshShell