Форумы HiProg.com - MS ACCESS, VBA, VB

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

ник: osmor
var ANSI = new Array();
var UNICODE = new Array();

for(var i = 178; i <= 252; i+=2){
    ANSI.push(i); //mecatar ANSI
    UNICODE.push(1328 + (i-176)/2); //mecatar Unicode
    ANSI.push(i+1); //poqratar ANSI
    UNICODE.push(1376 + (i-176)/2); //poqratar Unicode
}
ANSI.push(39);        UNICODE.push(0x587); //ev

ANSI.push(183);        UNICODE.push(8226);    //poqratar g-n (bullet)
ANSI.push(8226);    UNICODE.push(1379);    //poqratar g-n (bullet)

ANSI.push(39);        UNICODE.push(0x55A); //apostrophe
ANSI.push(176);        UNICODE.push(0x55B); //shesht
ANSI.push(175);        UNICODE.push(0x55C); //bacakanchakan
ANSI.push(170);        UNICODE.push(0x55D); //but
ANSI.push(177);        UNICODE.push(0x55E); //harcakan
ANSI.push(163);        UNICODE.push(0x589); //verjaket
ANSI.push(173);        UNICODE.push(0x58A); //hyphen
ANSI.push(167);        UNICODE.push(0xAB); //bacvogh chakert
ANSI.push(166);        UNICODE.push(0xBB); //pakvogh chakert
ANSI.push(171);        UNICODE.push(0x2C); //storaket
ANSI.push(169);        UNICODE.push(0x2E); //mijaket
ANSI.push(174);        UNICODE.push(0x2026); //bazmaket

ANSI.push(0,0);        UNICODE.push(0,0); //2 hat CUSTOM :)
// end

// правильно создаешь 2 массива
кусок заполняешь на циклом а кусок руками 
push - добавление данных в массив с
 увеличением размерности массива ну типа нашего redim (или сразу опиши массив 
нужного размера)
function convert(from, to, A2U){
// если  A2U - истина, то массив arrFrom 
принимает значения из массива ANSI, если 
ЛОЖЬ, то из массива UNICODE
   arrFrom = A2U ? ANSI : UNICODE;
// если  A2U - истина, то массив arrTo 
принимает значения из массива UNICODE, 
если ЛОЖЬ, то из массива ANSI
    arrTo = A2U ? UNICODE : ANSI;
 // получаем значение из поля   
    var ekac = document.getElementById(from).value;
    var gnacogh = "";
// len - длина строки
    var len = ekac.length;
    var tar;
    var current; //boolean
 // перебираем все символы исходной строки   
    for(var i=0; i<len; i++){
// получаем код символа в позиции i исходной строки
        tar = ekac.charCodeAt(i);
        FromumKa=false;
// перебираем все элементы массива arrFrom
        for(var j=0; j<arrFrom.length; j++){
// если полученный из строки символ равен 
символу в массиве arrFrom на позиции J
            if(tar==arrFrom[j]){
// если в массиве arrTo в этой позиции J 
пустое значение - выход из цикла
                if(arrTo[j]=="") {FromumKa=true; break;}
// если в массиве arrTo этот элемент (J) 
не пустой (else для if(arrTo[j]=="")
// к результирующей строке добавлем символ 
полученный из кода который содержится в 
массиве arrTo на позиции J
                gnacogh += String.fromCharCode(arrTo[j]);
                FromumKa = true;
// выход из цикла перебора массива arrFrom
                break;
            } // end if для     if(tar==arrFrom[j])
        } // next J для  for(var j=0; j<arrFrom.length; j++) 
получаем следующий элемент массива arrFrom
// если совпадений символа (точнее кода символа) 
из исходной строки в массиве arrFrom не найдено, 
то к результирующей строке добавляем 
символ полученный из кода символа исходной 
строк (т.е. ничего не конвертируем)
        if(!FromumKa) gnacogh += String.fromCharCode(tar);
    } // next I для  for(var i=0; i<len; i++) перемещаемся на след. символ в исходной строке
// результирующую строку выводим в поле
    document.getElementById(to).value = gnacogh;


Все

я отошел на 40 минут.


Ваше имя:

Пароль:

Цитировать: [quote][/quote] Код: [code][/code]
Жирный: [b][/b] Наклонный: [i][/i]
URL: [url][/url] 

Сообщение:

 Размер файла не более 50 Кбт. Большие файлы можно размещать на www.slil.ru

Прикрепить:

 

Для вставки смайлов в текст щелкните по значку.