Выбрать главу

WScript.Echo "Например, 1+2=",1+2

'*************  Конец *********************************************

Если сценарий Echo1.js (Echo1.vbs) был запущен с помощью cscript.exe, то строки выводятся в командное окно (рис. 2.1).

Если же этот сценарий выполнялся с помощью wscript.exe, то строки по очереди выводятся в диалоговые окна с единственной кнопкой OK (рис. 2.2).

Часто бывает необходимо выводить в диалоговое окно не по одной строке текста, а сразу несколько таких строк (рис. 2.3). Для этого нужно формировать строки, содержащие символы перевода строки: escape-последовательность "\n" для JScript и предопределенная именованная константа vbCrLf для VBScript (соответствующие примеры сценариев приведены в листингах 2.3 и 2.4).  

Рис. 2.1. Результат выполнения Echo1.js с помощью cscript.exe

Рис. 2.2. Результат выполнения Echo1.js с помощью wscript.exe

Рис. 2.3. Диалоговое окно с несколькими строками текста

Листинг 2.3. Вывод в диалоговое окно нескольких строк (JScript)

/*******************************************************************/

/* Имя: Echo2.js                                                   */

/* Язык: JScript                                                   */

/* Описание: Вывод сразу нескольких строк (WScript.Echo)           */

/*******************************************************************/

var s; //Объявляем переменную

s="Пример\nвывода\nнескольких\nстрок"; //Формируем строки

WScript.Echo(s); //Печатаем строки

/*************  Конец *********************************************/

Листинг 2.4. Вывод в диалоговое окно нескольких строк (VBScript)

'*******************************************************************

' Имя: Echo2.vbs

' Язык: VBScript

' Описание: Вывод сразу нескольких строк (WScript.Echo)

'*******************************************************************

Option Explicit

Dim s  ' Объявляем переменную

' Формируем строки

s="Пример"&vbCrLf&"вывода"&vbCrLf&"нескольких"&vbCrLf&"строк"

WScript.Echo s  ' Печатаем строки

'*************  Конец ********************************************* 

Методы Write и WriteLine объекта WScript.StdOut

Для вывода строк в сценариях, выполняющихся в консольном режиме, можно использовать стандартный выходной поток WScript.StdOut (листинги 2.5 и 2.6). Напомним, что запускать сценарий, обращающийся к потоку StdOut, можно только в консольном режиме с помощью cscript.exe. Если же попробовать выполнить, например, сценарий StdOut1.js с помощью wscript.exe, то произойдет ошибка (рис. 2.4).

Рис. 2.4. Ошибка, возникающая при обращении к StdOut в графическом режиме

Листинг 2.5. Вывод строк в стандартный выходной поток (JScript)

/*******************************************************************/

/* Имя: StdOut1.js                                                 */

/* Язык: JScript                                                   */

/* Описание: Пример использования методов StdOut.Write и           */

/*           StdOut.WriteLine                                      */

/*******************************************************************/

var n;  //Объявляем переменную

n=1+2;

//Печать без перевода строки

WScript.StdOut.Write("Использование метода ");

//Выводим строку с текущей позиции курсора

WScript.StdOut.WriteLine("StdOut.WriteLine");

//Печатаем строку и значение переменной

WScript.StdOut.WriteLine("Например, 1+2="+n);

/*************  Конец *********************************************/

Листинг 2.6. Вывод строк в стандартный выходной поток (VBScript)

'*******************************************************************

' Имя: 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).