AkelPad Forum Index AkelPad
Support forum
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Переадресация кода.
Goto page 1, 2  Next
 
Post new topic   Reply to topic    AkelPad Forum Index -> Discussion (Russian)
View previous topic :: View next topic  
Author Message
Resarcher



Joined: 21 Jun 2009
Posts: 8

PostPosted: Fri Jun 26, 2009 8:02 pm    Post subject: Переадресация кода. Reply with quote

Вывел на панель кнопки, для выполнения написанного в редакторе AkelPad кода, да не все работают корректно (кроме кода написанного на чистом HTML). Например, HTML-документ, содержащий JavaScript не выполняется следующим кодом кнопки:
Code:

-"Выполнить HTML Code" Exec(`explorer.exe "%f"`) Icon(".....")

Да, и ещё вопросик. Установлен интепретатор ActivePerl, написал код кнопки выполнения Perl-кода, из AkelPad. Вот код:
Code:

-"Выполнить Perl Code" Exec(`cmd.exe "%f"`,"d%") Icon(".....")

При нажатии на кнопку "Выполнить Perl Code" программа запускается, но там, где предусмотрено выполнение других последующих операций, например, запроса о вводе значения или выполнения инкремента, окно интепретатора тут же закрывается. Программы мной проверены и при обычном вызове интерпретатора работают.
Посоветуйте, как устранить данные недочёты. Smile
Заранее благодарен.
Back to top
View user's profile Send private message
Instructor
Site Admin


Joined: 06 Jul 2006
Posts: 5289

PostPosted: Sat Jun 27, 2009 1:25 pm    Post subject: Re: Переадресация кода. Reply with quote

Resarcher wrote:
Например, HTML-документ, содержащий JavaScript не выполняется следующим кодом кнопки:...
Возможно речь идет о Vista или Seven, если так, то вероятно блокирует система безопасности.

Quote:
Да, и ещё вопросик.
Может:
Code:
-"Выполнить Perl Code" Exec(`cmd.exe /k "%f"`,"d%") Icon(".....")
?
Back to top
View user's profile Send private message Send e-mail
Resarcher



Joined: 21 Jun 2009
Posts: 8

PostPosted: Sat Jun 27, 2009 3:27 pm    Post subject: Reply with quote

Извиняюсь. HTML-код с JavaScript выполняется. По своей невнимательности не разблокировал в броузере запрет на выполнение сценариев.
Что касается команды "Выполнить Perl Code", то после применения к cmd.exe ключа /k код стал выполняться.
Огромное спасибо.
Back to top
View user's profile Send private message
MaximusMX



Joined: 11 Dec 2008
Posts: 28

PostPosted: Tue Jun 30, 2009 11:44 pm    Post subject: Reply with quote

Также интересует вопрос по работе с консолью. Аналогично пользуюсь вариантом:

Quote:
Exec('cmd.exe /k "%f"',"%d")


однако есть 2 минуса:
1 - перед запуском каждый раз необходимо сохраняться
2 - сама консоль: неудобно работать + 2-е окно

Возможно ли реализовать перехват вывода результата роботы внешнего компилятора/консоли в отдельное окно (как у плагина HexSel) самого редактора ? Насколько я знаю такого плагина нет, потому буду крайне благодарен если найдется время на его написание или хотя бы вариант скрипта для плагина Scripts.
Заранее спасибо.
Back to top
View user's profile Send private message
Fr0sT



Joined: 24 Jul 2007
Posts: 876

PostPosted: Wed Jul 01, 2009 7:33 am    Post subject: Reply with quote

1) Это по любому, иначе как скормишь то, что сидит только в оперативке Акеля, другой программе?
2) А разница? Ну будет второе окно Акелевским... Что касается перехвата, то я как раз сделал класс для этих дел, правда, на Дельфях, но если кому-то понадобится — предоставлю.
Back to top
View user's profile Send private message
MaximusMX



Joined: 11 Dec 2008
Posts: 28

PostPosted: Wed Jul 01, 2009 8:17 am    Post subject: Reply with quote

1 - как вариант автоматическое сохранение файла перед запуском
2 - я некорректно выразился, у HexSel не самостоятельное окно, а панель.

в любом случае консоль это:
- нужно постоянно переключаться с консоли на редактор,
- при каждом запуске кол-во окон консоли растет,
- неудобная робота с текстом в консоли.
Back to top
View user's profile Send private message
FeyFre



Joined: 07 Aug 2007
Posts: 2031
Location: Vinnitsa, Ukraine

PostPosted: Wed Jul 01, 2009 5:06 pm    Post subject: Reply with quote

Fr0sT, а MSDN не пробовали почитать? Там есть полный пример как подменить stdin, stdout и stderr. [url=ms-help://MS.MSDNQTR.v90.en/dllproc/base/creating_a_child_process_with_redirected_input_and_output.htm]Вот[/url]
Back to top
View user's profile Send private message AIM Address Yahoo Messenger MSN Messenger
Fr0sT



Joined: 24 Jul 2007
Posts: 876

PostPosted: Thu Jul 02, 2009 12:09 pm    Post subject: Reply with quote

FeyFre, э... не очень понял смысл данного сообщения. Я вообще-то сказал, что уже сделал этот класс.

MaximusMX, то есть ты хочешь dockable - панель, куда будет выводиться текст компилятора, типа вот этого? :
Back to top
View user's profile Send private message
FeyFre



Joined: 07 Aug 2007
Posts: 2031
Location: Vinnitsa, Ukraine

PostPosted: Thu Jul 02, 2009 12:44 pm    Post subject: Reply with quote

Fr0sT
Quote:
1) Это по любому, иначе как скормишь то, что сидит только в оперативке Акеля, другой программе?
Судя по этой Вашей фразе я сделал вывод что Вы не знаете как скормить эту самую память дургому приложению через поток ввода, вот и привел ссылку на пример.
Back to top
View user's profile Send private message AIM Address Yahoo Messenger MSN Messenger
Fr0sT



Joined: 24 Jul 2007
Posts: 876

PostPosted: Thu Jul 02, 2009 2:09 pm    Post subject: Reply with quote

FeyFre, то есть ты предлагаешь вместо запуска программы с параметром командной строки перехватить пайп ввода и направить несохранённый файл через него? Хм. Идея, конечно, интересная, правда, не знаю, насколько реализуема. Ведь если прога не считывает предназначенный для компиляции файл через stdin, а открывает его сама (что разумно), то ничего и не выйдет... То есть это сам компилятор должен иметь возможность получать файл на вход из stdin.
Back to top
View user's profile Send private message
FeyFre



Joined: 07 Aug 2007
Posts: 2031
Location: Vinnitsa, Ukraine

PostPosted: Thu Jul 02, 2009 4:02 pm    Post subject: Reply with quote

Да, согласен, если запускаемый софт читает файлы непосредсвенно(компиляторы естественно так всегда делают) то подствить им вместо файла память очень проблематично(но возможно, в определенных условиях!). А вот если нужно комуто на стандартный ввод подать данные: есть трубопровод - проблем нету.
А было бы неплохо сделать такой плаг: переганял бы содержимое через другое приложение и возвращал обратно(например через тот же sort) Так сказать фильтр текстовый. Нужно будет подумать....
Back to top
View user's profile Send private message AIM Address Yahoo Messenger MSN Messenger
MaximusMX



Joined: 11 Dec 2008
Posts: 28

PostPosted: Thu Jul 02, 2009 6:30 pm    Post subject: Reply with quote

Fr0sT wrote:
MaximusMX, то есть ты хочешь dockable - панель, куда будет выводиться текст компилятора, типа вот этого? :


да. редактируемый файл (bat, cpp, pas, pl, pm, т.п.) запускается на выполнение и все что выводится в консоли должно выводится в dockable панели.
из аналогов навскидку только PSPad вспомнил. был там такой пункт "запустить внешний компилятор". после запуска появлялась панель в которой отображался рез-тат роботы скрипта или компилятора. перед запуском редактируемый файл сохранялся.


Last edited by MaximusMX on Thu Jul 02, 2009 8:24 pm; edited 1 time in total
Back to top
View user's profile Send private message
Fr0sT



Joined: 24 Jul 2007
Posts: 876

PostPosted: Thu Jul 02, 2009 7:17 pm    Post subject: Reply with quote

FeyFre
ага, а если еще и дать возможность выбора.запоминания запущенных программ.параметров, ммм... не знаю, правда, как это применить - сортировка-то у нас есть - но фича крутая Smile.
MaximusMX
в принципе, думаю, фича будет достаточно востребованной. да и реализуется она не так уж сложно: док-панель уже есть в Clipboard.
Back to top
View user's profile Send private message
FeyFre



Joined: 07 Aug 2007
Posts: 2031
Location: Vinnitsa, Ukraine

PostPosted: Thu Jul 02, 2009 9:34 pm    Post subject: Reply with quote

Fr0sT, была бы фича, а приминение найдется Smile
Так мы скоро договоримся, что AkelPad перерастет в IDE. А чего? Подсветка синтаксиса есть, автоподстановка есть, тулбары уже есть(можно и свои придумать), ещё пара плагов дописать(а лучше один комплесный), например для работы с популярными типами проектов для разных IDE, и для вызова соотв. компиляторов - и опа, IDE готово Smile
(в голове куча идей, но руки не доходят Confused )
Back to top
View user's profile Send private message AIM Address Yahoo Messenger MSN Messenger
Fr0sT



Joined: 24 Jul 2007
Posts: 876

PostPosted: Fri Jul 03, 2009 7:13 am    Post subject: Reply with quote

FeyFre, осталось ещё решить проблему, что все плаги ваяет исключительно Инструктор, ну и парочку DV ))
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    AkelPad Forum Index -> Discussion (Russian) All times are GMT
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


SourceForge.net Logo Powered by phpBB © 2001, 2005 phpBB Group