AkelPad для чайников

Russian main discussion
  • Author
  • Message
Offline
Posts: 71
Joined: Tue Nov 11, 2014 12:21 am

2 вопроса

Post by Scrapmetay »

Зачем нужна команда COMMAND(4251) Execute? Это то что и Exec( )? Как туда вписывать все параметры? И почему она соглашается выводиться вообще без параметров (при этом она затенённая)?

И другое – как вызвать из команды EXEC на панели инструментов внешнюю программу, но не одной строкой, а допустим 3'емя? Нужно скомпилировать загруженный в Akel-pad текст компилятором, потом вызвать компоновщик, передав ему результат компилятора.

Offline
Posts: 1161
Joined: Sun Oct 20, 2013 11:44 am

Re: 2 вопроса

Post by Skif_off »

Scrapmetay wrote:И другое – как вызвать из команды EXEC на панели инструментов внешнюю программу, но не одной строкой, а допустим 3'емя? Нужно скомпилировать загруженный в Akel-pad текст компилятором, потом вызвать компоновщик, передав ему результат компилятора.
В командной строке есть возможность делать каскад с амперсандом, лучше использовать не &, а &&, тогда следующая команда будет выполнена только после успешного завершения предыдущей. Это не считая возможности сделать батник/скрипт и запускать его с параметрами.

Offline
Posts: 71
Joined: Tue Nov 11, 2014 12:21 am

Post by Scrapmetay »

Это хорошо (каскад). А то как раз Bat-ник временный громоздить не хотелось бы. Ну а скрипт, может мне и придётся их разучить и делать, но ведь это целый движок Java будет подгружаться....?

Offline
Posts: 381
Joined: Wed Sep 28, 2011 3:05 pm

Post by Cuprum »

Scrapmetay
Ну а скрипт, может мне и придётся их разучить и делать, но ведь это целый движок Java будет подгружаться....?
Если вы про скрипты для AkelPad-a, то они пишутся на Javascript.
Точнее, на реализации Ecmascript для Windows - Jscript.

Offline
Posts: 3217
Joined: Wed Nov 29, 2006 1:19 pm
Location: Киев, Русь
Contact:

Post by VladSh »

Scrapmetay
Cuprum wrote:про скрипты для AkelPad-a, то они пишутся на Javascript.
Точнее, на реализации Ecmascript для Windows - Jscript.
+ многое реализовано в методах Scripts-плагина.
Гляньте доку по плагину, по поиску поищите в форуме "FAQ", есть несколько тем, где в разной степени рассказано, как быстро войти в скриптописание. Ну и тему см. Scripts collection.
То, чего Вы спрашиваете (компиляция и т.п.), - тема даже отдельная где-то была, и скрипты есть (я вот вчера видел скрипт от DV - см. в теме со скриптами).

KDJ
Offline
Posts: 1949
Joined: Sat Mar 06, 2010 7:40 pm
Location: Poland

Re: 2 вопроса

Post by KDJ »

Scrapmetay wrote:Зачем нужна команда COMMAND(4251) Execute? Это то что и Exec( )? Как туда вписывать все параметры? И почему она соглашается выводиться вообще без параметров (при этом она затенённая)?
The arguments for Command(4251) - Execute, you can set in AkelPad settings:
Main menu -> Options -> Settings -> General -> Execute -> "Command" and "Working direcory" fields.

Offline
Posts: 71
Joined: Tue Nov 11, 2014 12:21 am

Post by Scrapmetay »

Ohh this is iiit...!? I saw this field when first launched Aklepad 3 years ago, but completely forgot about it, because at that time didn't install plugins and couldn't find a use for it at all.

Да уж, лучше бы эти поля в настройках возникали токо когда хотя бы плуг-ин Toolbar или Context menu, установленный.

Offline
Posts: 381
Joined: Wed Sep 28, 2011 3:05 pm

Post by Cuprum »

Можно ли настроить контекстное меню редактирования так, чтобы одни пункты были видимы когда нет выделения, а другие - когда выделение есть? (как в Firefox)

Offline
Posts: 3217
Joined: Wed Nov 29, 2006 1:19 pm
Location: Киев, Русь
Contact:

Post by VladSh »

Scrapmetay wrote:Да уж, лучше бы эти поля в настройках возникали токо когда хотя бы плуг-ин Toolbar или Context menu, установленный.
Они и без плагинов помогают. У меня настроено открывать редактируемый файл в программе по ассоциации в Windows, т.е. htm открывается в браузере, fb2 - STDU Viewer'е и т.д. Очень удобно.

Cuprum
Пока нет.

Offline
Posts: 71
Joined: Tue Nov 11, 2014 12:21 am

Post by Scrapmetay »

VladSh wrote:
А вот, только щас нашёл, что эта команда вызывается “Ctrl + F5”.


---------
Skif_off wrote:В командной строке есть возможность делать каскад
Собственно, не работит. В CMD.EXE-то работит, а Akelpad-ский интерпретатор всё это пропускает, исполняя только первую часть команды, или вообще ничего. Также символ > для перевода вывода в текстовый файл.
Пытаюсь и так и сяк.

"" Exec("CMD.EXE /? & calc.exe") Icon(13)
"" Exec("calc.exe && calc.exe") Icon(13)
"" Exec("calc.exe" && "calc.exe") Icon(13)
или в настройках для execute
CMD.EXE /? & calc.exe
....

CMD.EXE /? > RESULC.TXT
или в Tool bar-е
"" Exec("E:\Copious programs\Programful\FreeBASIC-1-00-0\fbc.exe > RESULC.TXT") Icon(13)
или если обрамить в кавыки не вместе:
"" Exec("E:\Copious programs\Programful\FreeBASIC-1-00-0\fbc.exe" > "RESULC.TXT") Icon(13)

CMD.EXE просто запускается, и его справка печатится на экране. Файл RESULC.TXT во всей системе не возникает, включая скрытые каталоги (ищу everything-ом).

А если запустить компилятор Free BASIC-а, консоль схлопывается, даже не выведя какой-то текст вообще. Если эти символы & и > не использовать, то консоль просто открываться из Akelpadа – может, с FBC.EXE, выводя справку на окно.

----

Наверно я что-то не врубаюсь, потому что и такое стандартное сооружение у меня схлопывает консоль:
"" Exec("E:\Copious programs\Programful\FreeBASIC-1-00-0\fbc.exe '%f'", "%d") Icon(13)
просто из-за добавления '%f'
то есть без передачи файла – FBC запускается, с файлом нет.

Offline
Site Admin
Posts: 6311
Joined: Thu Jul 06, 2006 7:20 am

Post by Instructor »

Scrapmetay wrote:Пытаюсь и так и сяк.

Code: Select all

"" Exec(`%comspec% /c mspaint.exe && calc.exe`) Icon(13)
Наверно я что-то не врубаюсь, потому что и такое стандартное сооружение у меня схлопывает консоль
"" Exec(`"E:\Copious programs\Programful\FreeBASIC-1-00-0\fbc.exe" "%f"`, "%d") Icon(13)

Offline
Posts: 71
Joined: Tue Nov 11, 2014 12:21 am

Post by Scrapmetay »

Ага, так действует. Кроме того, CMD.EXE сам обрезает кавыки спереди и зади подстроки, если там какие-то условия соблюдены – почти всегда, короче. То есть если строка с двумя путями, дóлжно писать по две кавычки и в начале, и конце. Но это-то ладно.

Выясняется, что чтобы запустить две команды, надо не просто вызвать из нашей программы системную команду с амперсандом, а обязательно CMD.EXE с ключом “подстрока”, а в ней команду. А так оно, окно CMD.EXE, будет всё это время висеть. Можно ли как-то это убрать? Могли бы вы в свою очередь добавить в команды на каждую кнопку вставлять по несколько строк? То есть мини-кусок BAT-а исполнять оттуда?



И ещё вот вопрос как объединить команду, зовимую по COMMAND, Toolbar и Hotkeys, то есть не 3 одинаковые команды, а именно одну, из всех мест вызывать?

Offline
Posts: 3217
Joined: Wed Nov 29, 2006 1:19 pm
Location: Киев, Русь
Contact:

Post by VladSh »

Scrapmetay wrote:И ещё вот вопрос как объединить команду, зовимую по COMMAND, Toolbar и Hotkeys, то есть не 3 одинаковые команды, а именно одну, из всех мест вызывать?
Давать имя строке-команде и потом вызывать по имени пока нельзя. Надо копировать в 3 места.

Offline
Posts: 1161
Joined: Sun Oct 20, 2013 11:44 am

Post by Skif_off »

Подскажите, пожалуйста: есть два скрипта для вставки символа - с плагином HexSel и без него, что будет удобнее/надёжнее?

Offline
Posts: 3217
Joined: Wed Nov 29, 2006 1:19 pm
Location: Киев, Русь
Contact:

Post by VladSh »

Skif_off
Надёжнее, наверное, проверить, есть ли HexSel и если да, то вставлять с помощью него, иначе - кусок без HexSel :)
Post Reply