Читаем Windows Script Host для Windows 2000/XP полностью

Как мы видим, эта функция преобразует переданную в качестве параметра строку следующим образом: все символы кириллицы в этой строке переводятся в Windows-кодировку, остальные символы остаются без изменений. Основным в функций DosToWin является использование объекта Dictionary (аналог ассоциативного массива) с именем RusDict. Этот объект формируется в функции MakeRusDict и содержит пары "ключ"–"значение" для всех букв русского алфавита, причем в качестве ключа указывается буква в 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("ђ", "Р");

 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

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

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

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных