for (i=0;i

  if (RusDict.Exists(s.charAt(i)))  //Проверяем наличие символа в словаре

   //Преобразуем i-й символ в Windows-кодировку

   ss+=RusDict.Item(s.charAt(i));

  else ss+=s.charAt(i);

 }

 return ss;

}

/*************  Начало *********************************************/

var s,ArrS,i;  //Объявляем переменные

//Печатаем приглашение для ввода

WScript.StdOut.WriteLine("Вводите строки:");

s = WScript.StdIn.ReadAll();  //Вводим строки с клавиатуры

WScript.StdOut.WriteBlankLines(3);  //Печатаем пустые строки

ArrS=s.split("\n");  //Формируем массив из введенных строк

WScript.StdOut.WriteLine("Всего ведено строк: "+ArrS.length);

for (i=1;i<=ArrS.length;i++)

 //Преобразовываем введенные строки в Windows-кодировку

 //и выводим их на экран

 WScript.StdOut.WriteLine(i+": "+DosToWin(ArrS[i-1]));

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

Листинг 2.17. Ввод нескольких строк с помощью метода StdIn.ReadAll (VBScript)

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

' Имя: StdIn2.vbs

' Язык: VBScript

' Описание: Пример использования метода StdIn.ReadAll

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

Option Explicit

' Функция для перевода строки из DOS- в Windows-кодировку

Function DosToWin(s)

Dim i,k,ss

 ss=""

 For i=1 To Len(s)  ' Цикл по всем символам в строке

  k = Asc(Mid(s,i,1))  ' Определяем ANSI-код i-го символа

  ' Изменяем код k на код соответствующего символа в

  ' Windows-кодировке

  If (128 <= k) And (k <= 175) Then

   k=k+64

  ElseIf (224 <= k) And (k <= 239) Then

   k=k+16

  ElseIf k = 240 Then

   k=168

  ElseIf k = 241 Then

   k=184

  End If

  ss=ss+Chr(k)

 Next

 DosToWin=ss   ' Возвращаем преобразованную строку

End Function

'*************  Начало *********************************************

Dim s,ArrS,i,ColStr   ' Объявляем переменные

' Печатаем приглашение для ввода

WScript.StdOut.WriteLine "Вводите строки:"

s = WScript.StdIn.ReadAll  ' Вводим строки с клавиатуры

WScript.StdOut.WriteBlankLines 3  ' Печатаем пустые строки

ArrS=Split(s,vbCrLf)  ' Формируем массив из введенных строк

ColStr=UBound(ArrS)+1

' Печатаем введенные строки

WScript.StdOut.WriteLine "Всего ведено строк: " & ColStr

For i=1 To ColStr

 ' Преобразовываем введенные строки в Windows-кодировку

 ' и выводим их на экран

 WScript.StdOut.WriteLine i & ": " & DosToWin(ArrS(i-1))

Next

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

<p>Ввод строк в графическом режиме </p>

В сценариях VBScript в графическом режиме информацию можно вводить с помощью диалогового окна, создаваемого внутренней функцией InputBox (рис. 2.6).

Рис. 2.6. Диалоговое окно со строкой ввода

 Пример сценария, использующего функцию InputBox, представлен в листинге 2.18 (подробное описание параметров функции InputBox см. в приложении 1).

Перейти на страницу:

Похожие книги