Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема Скрипт Добавление переменной модуля (число прочтений - 1468 )
Phoenix
Senior Member
****
Отсутствует


itpath.ru

Сообщений: 398
Местоположение: Москва
Зарегистрирован: 15. Июня 2006
Пол: Мужской
Скрипт Добавление переменной модуля
09. Июля 2007 :: 12:19
Печать  
думаю комментарии излишни.
Код
Выбрать все
function JSTrim(vValue)
{
	return  vValue.replace(/(^\s*)|(\s*$)/g, "");
}


function CheckModuleDim(doc, pVarName,pOldPos,pExt)
{
	var re_vardecl = /^\s*(перем|var)\s+([_a-zа-яё][_0-9a-zа-яё]*)(\s+(export|экспорт))?\s*;\s*/i;
	var re_meth = /\s*(процедура|функция|procedure|function)\s+/i;
	var Variables = new ActiveXObject("Scripting.Dictionary");
	var re = re_vardecl;
	k = 0;
	strvar = "";
	for (var i=0; i<doc.LineCount; i++)
	{
		var strDoc = doc.Range(i, 0);
		if(re_meth.test(strDoc) ) break;
		var matches = strDoc.match(re);
		if (matches != null)
		{
			k = i;
			strvar = strDoc;
			VarName = matches[2].replace(/(^\s*)|(\s*$)/g, "");
			VarNames = VarName.split(/\s*(,|;|\r\n)\s*/);
			for (var j=0;j<VarNames.length;j++)
			{
				VrName = VarNames[j].replace(/(^\s*)|(\s*$)/g, "");
				Variables.Add(VrName, VrName);
			}
		}
	}
	if  (Variables.Exists(pVarName))
	{

		message("Переменная уже определена",mNone);
	}
	else
	{
		message("Добавлена переменная модуля: " + pVarName+ ", стр.: " + (k+1),mNone);
		doc.Range(k) = strvar+ '\r\n' + "Перем "+JSTrim(pVarName + " " +pExt) + ";";
	}
	doc.Open();
	doc.MoveCaret(pOldPos+1,0,pOldPos+1,0);
}


function AddVar()
{
	var doc = CommonScripts.GetTextDoc(1, 0);
	CheckModuleDim(doc, doc.CurrentWord,doc.SelStartLine,"");
}

function AddVarExport()
{
	var doc = CommonScripts.GetTextDoc(1, 0);
	CheckModuleDim(doc, doc.CurrentWord,doc.SelStartLine,"Экспорт");
}
 

  

Лень двигатель прогресса.&&http://www.itpath.ru&&;
Наверх
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать