diff-v8Reader.js at [fdb5b85112] Вы: nobody
Вход

File dvcs/diff-v8Reader.js as of check-in [fdb5b85112]


$engine JScript
$uname diff_v8Reader
$dname Backend � diff ��������� (ssf, cf)
$addin global

global.connectGlobals(SelfScript)

var mainFolder = profileRoot.getValue("Snegopat/MainFolder")

var pathTo1C = mainFolder + "\\core\\starter.exe";
//var pathToBase = mainFolder + "\\scripts\\dvcs\\basediff";

var ���������������=null

function macros��������v8Reader(){
    var pathToForm=SelfScript.fullPath.replace(/js$/, 'ssf')
    ���������������=loadScriptForm(pathToForm, SelfScript.self) // ��������� ������� ����� �������� � ������ �������
    ���������������.���������������()
}

function ������������������()
{
    pathToBase = ���������������.pathToBase;
    profileRoot.setValue(pflPathToBase, pathToBase)
}

function �����������()
{
    ���������������.pathToBase=pathToBase
}

function pathToBase������������(�������, ��������������������) {
    �����=���������������()
    if(�����=="") return
    �������.val.��������=�����
}

function �����������������(������) {
    ������������������();
    ���������������.�������();
}

function ���������������()
{
    �������������������=v8New("�����������������", �����������������������.ChooseDirectory)
    �������������������.��������� = "�������� ������� ������������ ���� ��������� "
    if(�������������������.�������()==false) return ""
    return �������������������.�������
}

function ����������������������������� (������) {
    var �pathToBase = ���������������.pathToBase;
    if (�pathToBase.length <1) {
        var �pathToBase = mainFolder + "basediff";
        try {
            ��������������(�pathToBase);
            Message("������ ������� " + �pathToBase);
        } catch (e) {
            Message("������ ��� �������� �������� " + �pathToBase + " �������� ������ " + e.description) ;
            return;
        }
    }
    try {
        var cmd = '"'+pathTo1C+'" CREATEINFOBASE File="'+�pathToBase+'"; /AddInList diff1Cv8Reader /UseTemplate "'+mainFolder + "scripts\\dvcs\\basediff\\v8reader.dt" +'"';
        �������������������(cmd, "", true);
		���������������.pathToBase = �pathToBase;
    } catch (e) {
        Message("������ ��� �������� ����. ��������� dt ������� � ������� ���� � ����. " + mainFolder + "scripts\\dvcs\\basediff\\v8reader.dt " +e.description);
        return;
    }
}

function diff_v8Reader(Path1, Path2) {

    if (pathToBase.length<1) {
        Message("���������� ��������� ���� � ��������� ���� ��� ���������.")
        Message("�������� ��������� ��� ������� Backend � diff ��������� (ssf, cf) � ��������� ��.")
        return
    }
    sBaseDoc = Path1.replace(/\//g, '\\');
    sNewDoc = Path2.replace(/\//g, '\\');
    var tmpfile = ��������������������������("txt");
    var TextDoc = v8New("TextDocument");
    TextDoc.AddLine(sBaseDoc)
    TextDoc.AddLine(sNewDoc)
    TextDoc.Write(tmpfile);
    var FSO = new ActiveXObject("Scripting.FileSystemObject");
    var cmd = '"'+pathTo1C+'" enterprise /RunModeOrdinaryApplication  /F"'+pathToBase+'" /C"'+FSO.GetAbsolutePathName(tmpfile)+'" ' ;
    �������������������(cmd);
} //diff_v8Reader

function GetExtension() {
    var result = 'ssf|cf';
    try { //������� ����������� ������ � ���� ������ ���������. 
        events.connect(windows, "onDoModal", SelfScript.self, "GetExtension");
        events.disconnect(windows, "onDoModal", SelfScript.self, "GetExtension");
        } catch (e) {
            result = "ssf|cf|epf|erf";
        }
    return result;
} //GetExtension

function GetBackend() {
    return diff_v8Reader
} //GetBackend


function getDefaultMacros() {
    return '��������v8Reader'
} //getDefaultMacros

////////////////////////////////////////////////////////////////////////////////////////
////{ ������������� �������
////

var pflPathToBase         = "diffv8Reader/pathToBase"
profileRoot.createValue(pflPathToBase, "", pflSnegopat);

var pathToBase = profileRoot.getValue(pflPathToBase)
////} ������������� �������