RusDict.add('Ё', 'и'); RusDict.add('©', 'й'); RusDict.add('Є', 'к');

 RusDict.add('«', 'л'); RusDict.add('¬', 'м'); RusDict.add('­', 'н');

 RusDict.add('®', 'о'); RusDict.add('Ї', 'п'); RusDict.add('а', 'р');

 RusDict.add('б', 'с'); RusDict.add('в', 'т'); RusDict.add('г', 'у');

 RusDict.add('д', 'ф'); RusDict.add('е', 'х'); RusDict.add('ж', 'ц');

 RusDict.add('з', 'ч'); RusDict.add('и', 'ш'); RusDict.add('й', 'щ');

 RusDict.add('к', 'ъ'); RusDict.add('л', 'ы'); RusDict.add('м', 'ь');

 RusDict.add('н', 'э'); RusDict.add('о', 'ю'); RusDict.add('п', 'я');

}

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

function DosToWin(s) {

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

 //Проверяем, создан ли объект RusDict

 if (typeof(RusDict)=='undefined')

  //Если объект RusDict не создан, создаем его

  MakeRusDict();

 ss='';

 for (i=0;i<s.length;i++) {  //Цикл по всем символам в строке

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

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

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

  else ss+=s.charAt(i);

 }

 return ss;

}

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

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

WScript.StdOut.Write('Введите одну строку: ');

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

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

WScript.StdOut.Write('Было введено: ');

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

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

WScript.StdOut.WriteLine(DosToWin(s));

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

Листинг 2.15. Ввод одной строки с помощью метода StdIn ReadLine (VBScript)

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

' Имя: StdIn1.vbs

' Язык: VBScript

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

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

' Функция для перевода строки из 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

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

WScript.StdOut.Write 'Введите одну строку: '

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

WScript.StdOut.WriteBlankLines 1   ' Печатаем пустую строку

WScript.StdOut.Write 'Было введено: '

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

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

WScript.StdOut.WriteLine DosToWin(s)

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

Используя метод WScript.StdIn.ReadAll, можно ввести сразу несколько строк подряд, ввод при этом прекращается после нажатия клавиш <Ctrl>+<Z>. Из введенной таким образом переменной можно затем сформировать массив, содержащий все строки. Для этого в JScript применяется метод split объекта string, а в VBScript — одноименная внутренняя функция Split (листинги 2.16 и 2.17). 

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

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

/* Имя: StdIn2.js                                                  */

/* Язык: JScript                                                   */

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

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

var RusDict;

//Функция для создания объекта Dictionary с парами 'ключ-значение', где

//'ключ'-буква в DOS-кодировке, 'значение'- символ, соответствующий этой

//букве в Windows-кодировке

function MakeRusDict() {

 //Создаем объект Dictionary

 RusDict = WScript.CreateObject('Scripting.Dictionary');

 //Заполняем пары 'ключ' (символ в DOS-кодировке)-'значение' (символ в

 //Window-кодировке) для всех букв русского алфавита

 RusDict.add('Ђ', 'А'); RusDict.add('Ѓ', 'Б'); RusDict.add('‚', 'В');

 RusDict.add('ѓ', 'Г'); RusDict.add('„', 'Д'); RusDict.add('…', 'Е');

 RusDict.add('р', 'Ё'); RusDict.add('†', 'Ж'); RusDict.add('‡', 'З');

 RusDict.add('€', 'И'); RusDict.add('‰', 'Й'); RusDict.add('Љ', 'К');

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату