Показать сообщение отдельно
  #10 (permalink)  
Старый 07.02.2009, 19:34
...
Отправить личное сообщение для Zeroglif Посмотреть профиль Найти все сообщения от Zeroglif
 
Регистрация: 09.03.2008
Сообщений: 216

var VB = {
    func: function (func){
        if (this[func]) {
            return this[func];
        } else {
            PutResult = function(X) {EvalResult=X;}
            GetArgs = function(i) {return _fArgs[i];}
            return (this[func] = new Function(
                '_fArgs=arguments;'+
                'var cnt = _fArgs.length, args=new Array(cnt);'+
                'for (var i=cnt; --i>=0;) args[i]="GetArgs("+ i +")";'+
                'VbsEval("' +func+ '("+args+")");'+
                'var retVal=EvalResult;'+
                '_fArgs=null; EvalResult=null;'+
                'return retVal;'));
        }
    }
}

//-> методов нет, буим создавать
var reverse = VB.func("StrReverse");
var x=VB.func("InputBox")("сюда не целое x", "вызвать VB InputBox из JScript");
VB.func("MsgBox")("x = "+x+'\n'+reverse(x)+'\n'+VB.func("Int")(x), 0,"VBS" );

//-> методы есть, можно к ним обращаться
var y=VB.InputBox("сюда не целое y", "вызвать VB InputBox из JScript");
VB.MsgBox("y = "+y+'\n'+VB.StrReverse(y)+'\n'+VB.Int(y), 0,"VBS" );
Ответить с цитированием