Попов Андрей Викторович
Шрифт:
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("п", "я");
}
//Функция для перевода строки из 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) ' Возвращаем преобразованную строку