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

Организация диалога с помощью кнопочного меню

Организация диалога с помощью кнопочного меню

Вторым вариантом организации диалога, который мы рассмотрим, является кнопочное (командное) меню. Принцип его работы в нашем примере остается практически тем же, что и при описанной выше обработке аргументов командной строки — пользователь должен в диалоговом окне ввести символ, соответствующий одной из описанных в этом окне команд (рис. 7.2). Этот символ анализируется в сценарии, и в зависимости от его значения вызывается то или иное задание из файла PhoneBook.wsf.


Рис. 7.2. Кнопочное меню для работы с записной книжкой

Диалоговое окно, показанное на рис. 7.2, выводится в цикле while, в котором с помощью оператора switch анализируется введенный пользователем символ. Выход из цикла совершается, если введенный символ совпадает с "q" или "Q".

Текст сценария ComMenu.wsf, реализующего кнопочное меню для работы с записной книжкой, приводится в листинге 7.5.

Листинг 7.5. Командное меню для работы с записной книжкой

<job>
<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+="nnКоманда:";
 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>

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


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