Scripts discussion (2)
- Author
- Message
-
Offline
- Posts: 670
- Joined: Thu Jun 03, 2010 8:47 am
- Location: Сочи, Хоста
- Contact:
-
Offline
- Posts: 3217
- Joined: Wed Nov 29, 2006 1:19 pm
- Location: Киев, Русь
- Contact:
Instructor
Как подключаемая библиотека это здорово!
Спасибо.
Добавлено:
Большая просьба, - сделайте пожалуйста чтобы структура была такого вида: [идентификатор, MF_NORMAL, текст пункта меню] - идентификатор ведь обязателен, потому и спереди, а текст иногда может быть опциональным, т.о. количество элементов структуры м.б. меньше (в некоторых случаях можно это анализировать).
Как подключаемая библиотека это здорово!
Спасибо.
Добавлено:
Большая просьба, - сделайте пожалуйста чтобы структура была такого вида: [идентификатор, MF_NORMAL, текст пункта меню] - идентификатор ведь обязателен, потому и спереди, а текст иногда может быть опциональным, т.о. количество элементов структуры м.б. меньше (в некоторых случаях можно это анализировать).
-
Offline
- Site Admin
- Posts: 6311
- Joined: Thu Jul 06, 2006 7:20 am
VladSh
Порядок такой: ["Текст", MF_NORMAL, ПользовательскиеДанные1, ПользовательскиеДанные2, ...]. В пользовательских данных может передаваться идентификатор, либо что-то другое, либо не указываться. Т.е. как раз таки параметры после MF_* не влияют на работоспособность функции ShowMenu, поэтому могут быть опущены.
Порядок такой: ["Текст", MF_NORMAL, ПользовательскиеДанные1, ПользовательскиеДанные2, ...]. В пользовательских данных может передаваться идентификатор, либо что-то другое, либо не указываться. Т.е. как раз таки параметры после MF_* не влияют на работоспособность функции ShowMenu, поэтому могут быть опущены.
-
Offline
- Posts: 3217
- Joined: Wed Nov 29, 2006 1:19 pm
- Location: Киев, Русь
- Contact:
-
Offline
- Posts: 3217
- Joined: Wed Nov 29, 2006 1:19 pm
- Location: Киев, Русь
- Contact:
Исправлено.Andrey_A_A wrote:скрипт ConsoleRun.js ведёт себя странно, либо опрокидывает AkelPad, либо подвисает вся система
• упразднены ShowMenuCommon.js и ShowMenuAlt.js, переработан ShowMenuEx.js (теперь он использует ShowMenu.js из дистрибутива Scripts-плагина);
• также изменены: ExecuteScriptMenu.js и XMLGetAttrValues.js.
Переработан CaretSelect.js.
-
Offline
- Posts: 176
- Joined: Sat Dec 24, 2011 4:05 pm
Основываясь на примерах документации, дополнил:F. Phoenix wrote:Набросок: CoderFunctions.js
Как я и предполагал, со всеми расширениями темы вполне работает 12й вызов. В функции 18го же hWndEdit бесполезен, т.к. нужен еще hDocEdit, а функция GetEditDoc() всегда основывается на активном документа... т.е. как я понимаю, тут либо добавлять эти параметры исключительно в целях опцтимизации (чтоб не запрашивать у Акела один и тот же дескриптор по нескольку раз), либо как-то дополнить, чтоб можно было получить дескриптор документа на основе указанного окна.
-
Offline
- Posts: 122
- Joined: Sat Mar 19, 2011 10:20 pm
Code: Select all
\n<?php\n $scan_subdirs = isset($_POST[\'subdirs\']) ? $_POST[\'subdirs\'] : false;\n //$scan_subdirs = isset($_POST[\'subdirs\']) ? $_POST[\'subdirs\'] : false;\n?>\n
-
Offline
- Posts: 3217
- Joined: Wed Nov 29, 2006 1:19 pm
- Location: Киев, Русь
- Contact:
Работает, можно "финалить"Infocatcher wrote:Нечто вроде: insertTag-test.js
Я туда ещё добавил функцию GetSyntaxAliasExtension и так, по мелочи.. + отступы порасставлял вокруг =, чтобы текст скрипта нормально читался:F. Phoenix wrote:Набросок: CoderFunctions.js
В принципе можно помещать в коллекцию скриптов, у себя в скриптах вовсю пользую его - уже изменил CommonFunctions.js, NewFilebyRecent.js, SaveAs.js, OpenCoderParamsFile.js.
Добавлено:
Изменено TranslateWithGoogleAPI.js - выбор вариантов в диалоге был неинтуитивен и неудобен, поэтому изменён порядок: теперь Yes заменяет выделенный текст, No - копирует в буфер. Соответственно поменялись местами значения 0 и 1 параметра resType, передаваемого в аргументах.
Last edited by VladSh on Wed Dec 11, 2013 9:18 am, edited 1 time in total.
-
Offline
- Posts: 176
- Joined: Sat Dec 24, 2011 4:05 pm
Хм, явоскрипту проще из переменных чтоль строки брать, чем напрямую?
И какой там ужасный пэкмен перед нашими никами - он же нас сожрет
А еще я тут твой перевод регесп-тестера подправил... точнее, наброски-то вообще сделал сразу, как KDJ локализуемую версию выложил, а тута смержил + разметку кнопок в скрипте чутка изменил: так вроде и на русском, и на инглише неплохо смотрится.
(Скачать вместе со скриптом);
И какой там ужасный пэкмен перед нашими никами - он же нас сожрет
А еще я тут твой перевод регесп-тестера подправил... точнее, наброски-то вообще сделал сразу, как KDJ локализуемую версию выложил, а тута смержил + разметку кнопок в скрипте чутка изменил: так вроде и на русском, и на инглише неплохо смотрится.
(Скачать вместе со скриптом);
-
Offline
- Posts: 1862
- Joined: Mon Aug 06, 2007 1:07 pm
- Contact:
viewtopic.php?p=18304
Финт ушами №2:
Упрощенный финт ушами №2 (только если экспортируемые имена не используются):
Использование:
Правда, только первый вариант делает проверку на наличие переменной с таким именем.
Но там, если есть такая необходимость, все просто:
Финт ушами №1:Infocatcher wrote:Можно как-нибудь починить возможность доступа к глобальному объекту?ВыдаетCode: Select all
var global = this; global.x = {}; WScript.Echo(x);
Ошибка: Объект не поддерживает это свойство или метод
Код: 800A01B6
Источник: Ошибка выполнения Microsoft JScript
Code: Select all
var _exports = (function() {
var a = 1;
var b = 2;
return {
libA: a,
libB: b
};
})();
if(_exports && AkelPad.IsInclude()) // this.foo doesn't work: http://akelpad.sourceforge.net/forum/viewtopic.php?p=18304#p18304
for(var _p in _exports)
eval("if(!_p) var _p = _exports._p;".replace(/_p/g, _p));
_exports = _p = undefined;
Code: Select all
(function() {
var a = 1;
var b = 2;
if(AkelPad.IsInclude()) {
// this.foo = ... doesn't work:
// http://akelpad.sourceforge.net/forum/viewtopic.php?p=18304#p18304
// But declarations without "var" becomes global
var _exports = {
libA: a,
libB: b
};
var _f = [];
for(var _p in _exports)
_f[_f.length] = _p + " = e." + _p + ";";
// Go to the global scope
new Function("e", _f.join("\n"))(_exports);
}
})();
Code: Select all
(function() {
var a = 1;
var b = 2;
if(AkelPad.IsInclude()) {
// this.foo = ... doesn't work:
// http://akelpad.sourceforge.net/forum/viewtopic.php?p=18304#p18304
// But declarations without "var" becomes global
libA = a;
libB = b;
}
})();
Code: Select all
AkelPad.Include("lib.js");
WScript.Echo(libA + "\n" + libB);
Но там, если есть такая необходимость, все просто:
Code: Select all
if(typeof global == "undefined")
global = internal;
-
Offline
- Posts: 3217
- Joined: Wed Nov 29, 2006 1:19 pm
- Location: Киев, Русь
- Contact:
Не легче. Просто использование констант исключает лишние возможные ошибки. Тем более, что кто-то может подключить скрипт и заюзать константу.F. Phoenix wrote:Хм, явоскрипту проще из переменных чтоль строки брать, чем напрямую?
Это шуткаF. Phoenix wrote:И какой там ужасный пэкмен перед нашими никами - он же нас сожрет
Считаю, что всё переводить не нужно; причины:F. Phoenix wrote:А еще я тут твой перевод регесп-тестера подправил...
- некоторые надписи не влезают в кнопки (я сначала перевёл почти всё, но потом вернул обратно);
- некоторые надписи привычнее на английском (все програмеры к ним уже привыкли).
В итоге к себе скопировал:
Code: Select all
pTxtRECollect = "Коллекция шаблонов...";
pTxtAddRE = "Новый шаблон...";
pTxtRenRE = "Переименование шаблона...";
Многоточие в конце потому, что оно много где используется в заголовках модальных диалоговых окон.
-
Offline
- Posts: 1862
- Joined: Mon Aug 06, 2007 1:07 pm
- Contact:
Многоточие обычно ставят, когда действие элемента управления подразумевает еще необходимость сделать какой-нибудь выбор после нажатия. Ну, как «Сохранить как…» еще спрашивает, куда сохранять.VladSh wrote:Многоточие в конце потому, что оно много где используется в заголовках модальных диалоговых окон.
А вот в заголовках, вроде бы, ни к чему многоточие. Я тут посмотрел... кажется, только в AkelPad'е «Настройки...» в заголовке окна.
-
Offline
- Posts: 670
- Joined: Thu Jun 03, 2010 8:47 am
- Location: Сочи, Хоста
- Contact:
Instructor скрипт
ActiveColumnSwitch.js
всегда запускается с программой, выключаешь, перезагружаешься он опять активный
как при отключении, чтобы он не запускался с программой?
ActiveColumnSwitch.js
всегда запускается с программой, выключаешь, перезагружаешься он опять активный
Code: Select all
"Активный столбец вкл/выкл" +Call("Scripts::Main", 1, "ActiveColumnSwitch.js", `"%m" "%i"`)
-
Offline
- Posts: 3217
- Joined: Wed Nov 29, 2006 1:19 pm
- Location: Киев, Русь
- Contact:
Спасибо за пояснение! Но не совсем понятно, что есть "выбор", кнопки "Ок" и "Отмена" тоже вроде выбор. В чём тут соль?Infocatcher wrote:Многоточие обычно ставят, когда действие элемента управления подразумевает еще необходимость сделать какой-нибудь выбор после нажатия.
Может, + убрать перед Call?Andrey_A_A wrote:как при отключении, чтобы он не запускался с программой?