Добавил еще ведущие нули к миллисекундам, если кому-то еще когда-то этот код понадобится
log = function (text, color, define){ var id, time, thread, logHtml, textLog; define = (typeof define == 'string') ? define.split(/[\s,.|:;]+/g) : define; if(typeof define === 'object' && define !== null){ if(Array.isArray(define)){ id = define.indexOf('id') > -1; time = define.indexOf('time') > -1; thread = define.indexOf('thread') > -1; } else{ id = define.id == true; time = define.time == true; thread = define.thread == true; } } else id = time = thread = true; id = id ? '<a href="action://action' + ScriptWorker.GetCurrentAction() + '" style="color:gray;">[' + ScriptWorker.GetCurrentAction() + ']</a>' : ''; time = time ? ' ' + getTime() : ''; thread = thread ? ' Поток №' + thread_number() : ''; logHtml = (id || time || thread) ? id + '<span style="color: white">' + time + thread + ' : </span>' : ''; logHtml += '<span style="color:' + (color ? color : 'white') + '">' + text + '</span>'; textLog = '[' + ScriptWorker.GetCurrentAction() + ']' + time + thread + ' : ' + text function getTime(){ var checkTime = function(i){ return (i < 10) ? "0" + i : i; }; var checkMilliSeconds = function(ms){ if (ms < 10) { return "00" + ms; } else if (ms < 100) { return "0" + ms; } else { return ms; } }; var d = new Date(); var hh = checkTime(d.getHours()); var mm = checkTime(d.getMinutes()); var ss = checkTime(d.getSeconds()); var ms = checkMilliSeconds(d.getMilliseconds()); return '[' + hh + ':' + mm + ':' + ss + '.' + ms + ']'; }; Logger.WriteHtml(logHtml, textLog); }Как добавить свой модуль в БАС?
-
-
@Clear Мануала нет ни какого
:D@fox said in Шаблоны действий:
@support Может есть какая нибудь документация для написание модулей? Поиск по форуму ни чего не дал.
@drprime said in Шаблоны действий:
@Fox открываешь любой модуль и смотришь как там все организовано.
-
@clear ну модуль можно сделать используя js(можно работать и с api баса), можно на c++. пример модуля использования c++. хороший пример для срр .
Основа модуля - manifest.json в нем прикручиваются библиотеки, описываются действия, указывается путь к файлу интерфейса, код который должен выполняться и код передачи данных из интерфейса модуля в код. все что необхдиомо - 4 файла (без использования c++) manifest.json. code.js, ****interface.js,*****select.js примерное описание manifest файла:"name":"Название модуля", "info":{"en": "Информация о модуле", "ru": ""}, "description":"Описание", "icon":"иконка.png", "description_small":{"en": "Название вкладки", "ru": ""}, "major_version": 1, "minor_version": 2, "developer_name": "bablosoft", "developer_email": "mail.to.twaego@gmail.com", "developer_site": "https://bablosoft.com", "api_version": 1, "actions": [ { "name":"название действия", "description":{"en": "описание","ru": ""}, "template": "{{Value}} -> {{Save}}", (действие с переданными переменными) "is_element": false, "interface": "*****_interface.js", "select": "*****_select.js", "code": [{"file":"******_code.js", "name": "*****_code"}] } ] "dll": [ (прикрепление длл) { "name": "имя", "filename32": "длл для х86", "filename64": "длл для х64", "startdllfunction": "StartDll", "enddllfunction": "EndDll", "startthreadfunction": "StartThread", "endthreadfunction": "EndThread", "exportlist":[ { "name": "имя", "isasync": false, "waitinfinite": false, "workfunction": "название вызываемой функции" } ]]