Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Single Post  Topic: Script Content Plugin 
Author Message
Serge Yolkin



PostPosted: Thu Nov 14, 2013 17:44    Post subject: Reply with quote

Flasher
Просто другая логика работы с плагином:
Плагин подключен, в тотале настроен шаблон поиска (у меня - highlight_plugin=script.Result = "!", но это на вкус), в [colors] настроена подсветка ColorFilter1=>highlight. В подпапке Scripts папки плагина - несколько скриптов, детектирующих определённые файлы/папки, в script.ini для каждого создана секция, в Section= та самая заглушка, которая "зачем". Ничего не подсвечивается. При необходимости, или остром желании, по хоткею вызываем утилитку, выбираем интересующий скрипт - в тотале подсвечены желаемые элементы. Через так же выбираем заглушку - всё как было. Чтобы в утилитке отображалось что-то более вменяемое, чем имена секций, в инишнике, в следующей после названия каждой секции строчке пишем комментарий (начинается с точки_с_запятой). Вот утиль:
Code:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html>
<html>
<head>
  <title>Переключатель Script.wdx</title>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  <meta http-equiv="X-UA-Compatible" content="IE=8" />
  <script type="text/jscript" language="JScript">
    self.resizeTo(400,200);
    self.moveTo(200,100);
  </script>
  <hta:application
   applicationName="WDXScriptSwitcher-II"
   border="thin"
   icon="%SystemRoot%/system32/scrobj.dll"
   id="HTApp"
   innerBorder="no"
   maximizeButton="no"
   minimizeButton="no"
   selection="no"
   singleInstance="yes"
   version="0.2"
   />
  <style type="text/css">
   *{color:navy;font:normal 14px/16px Arial;margin:0;padding:0;}
   p{cursor:hand;padding:5px 10px;}
   p:hover{background-color:yellow;}

  </style>
</head>
<script type="text/jscript" language="JScript">
  var
   a=[],
   f=new ActiveXObject('Scripting.FileSystemObject'),
   o=HTApp.commandLine.replace(/^"|[^\\]+$/g,'')+'script.ini',p,q,r,s,t;

  s=f.openTextFile(o);
  t=s.readAll();
  s.close();
  q=t.match(/Section\=[^\n\r]+/)[0].split('=')[1];
  a=t.match(/\[\w+\](\s*;\s*[^\n\r]*)?/g);
  for(var i=0;i<a.length;i++){
    r=a[i].split(/\s*;\s*/);
    if(r[0]!='[Script]'){
      p=document.createElement('P');
      p.comment=r[0].replace(/^\[|\]$/g,'');
      p.innerHTML='•&emsp;'+(r.length>1?r[1]:r[0]);
      p.attachEvent('onclick',fa);
      if(p.comment==q)p.style.fontWeight='bold';
      document.documentElement.appendChild(p);
    }
  }

  function fa(e){
    self.resizeTo(0,0);
    self.moveTo(-100,-100);
    var u,v;
    t=t.replace(/Section\=[^\n\r]+/,'Section='+f.getFileName(e.srcElement.comment));
    s=f.openTextFile('script.ini',2);
    s.write(t);
    s.close();
    try{
      with(new ActiveXObject('WScript.Shell'))
       run(
        expandEnvironmentStrings('%COMMANDER_PATH%\\PlugIns\\util\\tccp.exe')+' 540',
        0,
        true
       );
    }catch(e){}
    window.close();
  }
</script>
</html>
View user's profile Send private message


Powered by phpBB © 2001, 2005 phpBB Group