Книга: Windows Script Host для Windows 2000/XP

Два языка внутри одного задания (использование функции InputBox языка VBScript в сценариях JScript)

Два языка внутри одного задания (использование функции InputBox языка VBScript в сценариях JScript)

Как уже отмечалось в главе 2, ни в WSH, ни в JScript нет метода или функции, которые позволяли бы в графическом режиме создать диалоговое окно для ввода текста. Однако в языке VBScript имеется функция InputBox, предназначенная как раз для этой цели; используя разметку XML, мы можем легко использовать эту функцию в сценариях JScript. Соответствующий пример приведен в сценарии multilang.wsf (листинг 3.12).

Сначала в этом сценарии на языке VBScript описывается функция InputName, которая возвращает строку, введенную с помощью функции InputBox:

<script language="VBScript">
Function InputName
 InputName = InputBox("Введите Ваше имя:", "Окно ввода VBScript")
End Function
</script>

Затем в следующем разделе <script> приводится JScript-сценарий, в котором происходит вызов функции InputName и сохранение возвращаемого ею значения в переменной s:

var s;
s = InputName();

Значение полученной таким образом переменной s выводится затем на экран:

WScript.Echo("Здравствуйте, "+s+"!");

Таким образом, после запуска сценария multilang.wsf на экран выводится диалоговое окно для ввода имени пользователя, показанное на рис. 3.9.


Рис. 3.9. Окно ввода (функция InputBox языка VBScript)

После ввода информации на экран выводится окно, показанное на рис. 3.10.


Рис. 3.10. Стандартное окно вывода WSH

Листинг 3.12. Использование различных языков внутри одного задания (файл multilang.wsf)

<job>
 <runtime>
  <description>
  Имя: multilang.wsf
  Кодировка: Windows
  Описание: Использование функции InputBox в JScript-сценарии
  </description>
 </runtime>
 <script language="VBScript">
  Function InputName  ' Описываем функцию на языке VBScript
   ' Вводим имя в диалоговом окне
   InputName = InputBox("Введите Ваше имя:", "Окно ввода VBScript")
  End Function
 </script>
 <script language="JScript">
  var s;
  s = InputName();  //Вызываем функцию InputName
  //Выводим значение переменной s на экран
  WScript.Echo("Здравствуйте, "+s+"!");
 </script> 
</job>
 

Оглавление книги


Генерация: 1.126. Запросов К БД/Cache: 3 / 1
поделиться
Вверх Вниз