You've already forked SmartConfigurator
mirror of
https://github.com/ret-Phoenix/SmartConfigurator.git
synced 2026-06-09 22:05:18 +02:00
197 lines
3.7 KiB
JavaScript
197 lines
3.7 KiB
JavaScript
var fso = new ActiveXObject("Scripting.FileSystemObject");
|
|
//var choicer = new ActiveXObject("SvcSvc.Service");
|
|
var WshShell = WScript.CreateObject("WScript.Shell");
|
|
|
|
function JSTrim(vValue)
|
|
{
|
|
return vValue.replace(/(^\s*)|(\s*$)/g, "");
|
|
}
|
|
|
|
function delFP(vValue)
|
|
{
|
|
return vValue.replace(/\s*(ïðîöåäóðà|ôóíêöèÿ|procedure|function|#Îáëàñòü|#region)\s+/i, "");
|
|
}
|
|
|
|
function getTextBeforeBracket(prmTxt)
|
|
{
|
|
var nEnd = prmTxt.indexOf("(");
|
|
return prmTxt.substring(0,nEnd);
|
|
}
|
|
|
|
function log(msg) {
|
|
// OpenTextFile("C:\Test.txt", 2, True)
|
|
f = fso.OpenTextFile("log.txt", 8,true);
|
|
f.WriteLine(msg);
|
|
f.Close();
|
|
f=0;
|
|
}
|
|
|
|
function readFile(fileName) {
|
|
fs = new ActiveXObject("Scripting.FileSystemObject");
|
|
t_file = fs.OpenTextFile(fileName, 1);
|
|
str = "";
|
|
try {
|
|
str = t_file.ReadAll();
|
|
t_file.Close();
|
|
fs= 0;
|
|
} catch(e) {
|
|
|
|
}
|
|
return str;
|
|
}
|
|
|
|
function echo(prmTxt)
|
|
{
|
|
with (new ActiveXObject("WScript.Shell")) res = Popup("<"+prmTxt+">", 0, "title", 0);
|
|
}
|
|
|
|
function ResultList(prmStr, prmCaption)
|
|
{
|
|
wtiteToResultFile("tmp/app.txt", prmStr);
|
|
|
|
WshShell.Run("system\\SelectValueSharp.exe tmp\\app.txt",1,true);
|
|
str = readFile("tmp/app.txt");
|
|
|
|
if (JSTrim(str) != "") {
|
|
var nEnd = str.indexOf(")")
|
|
var nStr = str.substring(1,nEnd);
|
|
WScript.Quit(nStr);
|
|
} else {
|
|
WScript.Quit(0);
|
|
}
|
|
}
|
|
|
|
|
|
// function ResultListDLL(prmStr, prmCaption)
|
|
// {
|
|
// vRes = choicer.FilterValue(prmStr, 273+512, prmCaption, 0, 0, 0, 0);
|
|
// if (!(vRes) == "")
|
|
// {
|
|
// var nEnd = vRes.indexOf(")")
|
|
// var nStr = vRes.substring(1,nEnd);
|
|
|
|
// WScript.Quit(nStr);
|
|
// }
|
|
// }
|
|
|
|
function SelectValue(values, header) {
|
|
|
|
if (JSTrim(values) == "") {
|
|
return "";
|
|
}
|
|
|
|
wtiteToResultFile("tmp/app.txt",values);
|
|
|
|
WshShell.Run("system\\SelectValueSharp.exe tmp/app.txt",1,true);
|
|
str = readFile("tmp/app.txt");
|
|
//echo(str);
|
|
return str;
|
|
|
|
//return choicer.FilterValue(values, 273+512, header, 0, 0, 0, 0);
|
|
}
|
|
|
|
function wtiteToResultFile(file_name, file_data) {
|
|
f = fso.CreateTextFile(file_name, true);
|
|
f.Write(file_data);
|
|
f.Close();
|
|
}
|
|
|
|
function actionGoToType(lStrings) {
|
|
|
|
var lListProcFunc = "";
|
|
|
|
data = lStrings;
|
|
StrToChoice = '';
|
|
UpCount = 0;
|
|
|
|
data = lStrings.reverse();
|
|
var re_meth = /(ññûëàåòñÿ íà)/i;
|
|
|
|
CntRows = data.length;
|
|
// rowBM = 1;
|
|
for(var i=0; i < CntRows; i++)
|
|
{
|
|
lStr = data[i];
|
|
var matches = lStr.match(re_meth);
|
|
if (matches != null)
|
|
{
|
|
break;
|
|
}
|
|
if (JSTrim(lStr) != "") {
|
|
UpCount++;
|
|
StrToChoice += "("+UpCount+") "+ lStr + "\r\n";
|
|
}
|
|
}
|
|
|
|
// wtiteToResultFile("tmp/log-met-nav.txt", StrToChoice);
|
|
|
|
if (UpCount == 1) {
|
|
WScript.Quit(1);
|
|
} else if (UpCount == 0) {
|
|
WScript.Quit(0);
|
|
} else {
|
|
vRes = ResultList(StrToChoice,"");
|
|
}
|
|
//wtiteToResultFile("tmp/module.txt",JSTrim(vRes));
|
|
}
|
|
|
|
function actionGoToObject(lStrings) {
|
|
|
|
var lListProcFunc = "";
|
|
|
|
data = lStrings;
|
|
StrToChoice = '';
|
|
UpCount = 0;
|
|
|
|
CntRows = data.length;
|
|
for(var i=1; i < CntRows-1; i++)
|
|
{
|
|
var str = data[i];
|
|
StrToChoice += str + "\r\n";
|
|
UpCount++;
|
|
}
|
|
if (StrToChoice != "") {
|
|
if (UpCount > 1) {
|
|
var resultStr = SelectValue(StrToChoice);
|
|
wtiteToResultFile("tmp/module.txt", JSTrim(resultStr));
|
|
} else {
|
|
wtiteToResultFile("tmp/module.txt", "");
|
|
}
|
|
} else {
|
|
wtiteToResultFile("tmp/module.txt","");
|
|
echo("Ïóñòîé ñïèñîê");
|
|
}
|
|
}
|
|
|
|
|
|
function Run()
|
|
{
|
|
arg=WScript.Arguments;
|
|
|
|
fso = new ActiveXObject("Scripting.FileSystemObject");
|
|
if (arg(0) != 'null') {
|
|
File = fso.GetFile(arg(0));
|
|
if (File.Size > 0) {
|
|
f=fso.OpenTextFile(arg(0),1);
|
|
var lTxt = f.ReadAll();
|
|
var lList = lTxt.split('\r').join('').split('\n');
|
|
f.close();
|
|
} else {
|
|
var lList = [];
|
|
}
|
|
|
|
}
|
|
switch (arg(1)) {
|
|
case "gototype":
|
|
actionGoToType(lList);
|
|
break;
|
|
case "gotoobject":
|
|
actionGoToObject(lList);
|
|
break;
|
|
default:
|
|
return; // íå äîëæíî áûòü â ïðèíöèïå
|
|
}
|
|
|
|
}
|
|
|
|
Run(); |