Чтение онлайн

на главную - закладки

Жанры

Windows Script Host для Windows 2000/XP

Попов Андрей Викторович

Шрифт:

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("Љ", "К");

 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("ў", "в");

 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("й", "щ");

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

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

}

В

функции
DosToWin
из VBScript-сценария StdIn1.vbs (листинг 2.15) реализован другой подход к переводу строки в Windows-кодировку, связанный с преобразованием ANSI-кодов символов:

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

Весь алгоритм этой функции состоит в вычислении по ANSI-коду буквы русского алфавита в DOS-кодировке кода символа в Windows-кодировке, соответствующего этой букве.

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

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

/* Имя: StdIn1.js */

/* Язык: JScript */

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

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

var s,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("Љ", "К");

 RusDict.add("‹", "Л"); RusDict.add("Њ", "М"); RusDict.add("Ќ", "Н");

 RusDict.add("Ћ", "О"); RusDict.add("Џ", "П"); RusDict.add("ђ", "Р");

Поделиться:
Популярные книги

Последний рейд

Сай Ярослав
5. Медорфенов
Фантастика:
фэнтези
аниме
5.00
рейтинг книги
Последний рейд

Бандит 2

Щепетнов Евгений Владимирович
2. Петр Синельников
Фантастика:
боевая фантастика
5.73
рейтинг книги
Бандит 2

Офицер империи

Земляной Андрей Борисович
2. Страж [Земляной]
Фантастика:
боевая фантастика
попаданцы
альтернативная история
6.50
рейтинг книги
Офицер империи

Второгодка. Книга 2. Око за око

Ромов Дмитрий
2. Второгодка
Фантастика:
героическая фантастика
альтернативная история
фэнтези
5.00
рейтинг книги
Второгодка. Книга 2. Око за око

Егерь Ладов

Шелег Дмитрий Витальевич
3. Кровь и лёд
Фантастика:
боевая фантастика
аниме
фэнтези
5.00
рейтинг книги
Егерь Ладов

Второгодка. Книга 3. Ученье свет

Ромов Дмитрий
3. Второгодка
Фантастика:
городское фэнтези
сказочная фантастика
альтернативная история
5.00
рейтинг книги
Второгодка. Книга 3. Ученье свет

Личник

Валериев Игорь
3. Ермак
Фантастика:
альтернативная история
6.33
рейтинг книги
Личник

Надуй щеки! Том 7

Вишневский Сергей Викторович
7. Чеболь за партой
Фантастика:
попаданцы
дорама
5.00
рейтинг книги
Надуй щеки! Том 7

Звездная Кровь. Изгой

Елисеев Алексей Станиславович
1. Звездная Кровь. Изгой
Фантастика:
боевая фантастика
попаданцы
рпг
5.00
рейтинг книги
Звездная Кровь. Изгой

Имя нам Легион. Том 16

Дорничев Дмитрий
16. Меж двух миров
Фантастика:
боевая фантастика
рпг
аниме
5.00
рейтинг книги
Имя нам Легион. Том 16

Московское золото и нежная попа комсомолки. Часть Третья

Хренов Алексей
3. Летчик Леха
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Московское золото и нежная попа комсомолки. Часть Третья

Имперец. Том 4

Романов Михаил Яковлевич
3. Имперец
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Имперец. Том 4

Адвокат Империи 14

Карелин Сергей Витальевич
14. Адвокат империи
Фантастика:
городское фэнтези
аниме
попаданцы
5.00
рейтинг книги
Адвокат Империи 14

Дворянская кровь

Седой Василий
1. Дворянская кровь
Фантастика:
попаданцы
альтернативная история
7.00
рейтинг книги
Дворянская кровь