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 

Scripts plugin
Goto page Previous  1, 2, 3 ... 8, 9, 10 ... 53, 54, 55  Next
 
Post new topic   Reply to topic    AkelPad Forum Index -> Plugins
View previous topic :: View next topic  
Author Message
Instructor
Site Admin


Joined: 06 Jul 2006
Posts: 5398

PostPosted: Sun Mar 23, 2008 3:44 am    Post subject: Reply with quote

chapeau
http://akelpad.sourceforge.net/forum/viewtopic.php?p=2362#2362
Back to top
View user's profile Send private message Send e-mail
VladSh



Joined: 29 Nov 2006
Posts: 2614
Location: Киев, Русь

PostPosted: Tue Mar 25, 2008 1:07 pm    Post subject: Ещё одна мега-идея! Reply with quote

Предлагаю:

1. Сделать метод ListBox для выбора значений из списка; параметры:
- передаваемый массив значений;
- флаг множественного выбора (Boolean);
- значение по умолчанию (при передаче пустой строки не подсвечивать значения);
Возвращать массив при выборе значения(й) и нажатии ОК; не давать нажать ОК если значения не выбраны. Возвращать Null при нажатии Cancel.

2. По аналогии с плагином AutoComplete сделать спец. файлы для хранения параметров скриптов, т.к. скрипты из-за этого редактировать некорректно, мало того, что это неудобно - это дополнительный источник ошибок.
Необходимость этого давно назрела - есть множество скриптов, где нужен диалог с параметрами; сейчас в них выдаётся InputBox с передложением написать параметры вручную, или ещё хуже - эти параметры прописываются в скрипте жётско...
Например в папке со скриптами создать папку Parameters, в которой вручную создавать файлы с тем же именем, что и файл скрипта, только с другим расширением, например *.param.

Если в Scripts-плагин добавить ещё один метод по вызову диалога с параметрами, автоматически отыскивающий необходимый файл и выводящий параметры из него в диалог, то такое решение позволит сократить количество скриптов... например один скрипт вставки даты - при его вызове автоматом открывается диалог параметров, взятых из спец.файла, ну и т.д...
Может пример по вставке даты не очень удачен, но ExecConsole.js или ExecTool.js - самое то.
Можно было бы перевести на эту технологию большинство скриптов.


Last edited by VladSh on Sat Apr 18, 2009 11:51 am; edited 1 time in total
Back to top
View user's profile Send private message Visit poster's website
Instructor
Site Admin


Joined: 06 Jul 2006
Posts: 5398

PostPosted: Thu Mar 27, 2008 11:00 pm    Post subject: Reply with quote

Added: IsPluginRunning method.


Scripts plugin v3.0
Back to top
View user's profile Send private message Send e-mail
Instructor
Site Admin


Joined: 06 Jul 2006
Posts: 5398

PostPosted: Mon Apr 07, 2008 4:34 pm    Post subject: Reply with quote

Changed: plugin icon.

Added: GetClipboardText method.


Scripts plugin v3.1
Back to top
View user's profile Send private message Send e-mail
Instructor
Site Admin


Joined: 06 Jul 2006
Posts: 5398

PostPosted: Tue Apr 22, 2008 2:02 am    Post subject: Reply with quote

Changed: recompiled to support AkelPad 3.5.6.


Scripts plugin v3.2
Back to top
View user's profile Send private message Send e-mail
Instructor
Site Admin


Joined: 06 Jul 2006
Posts: 5398

PostPosted: Wed Jun 04, 2008 5:46 pm    Post subject: Reply with quote

Added: support for AkelPad 4.0.0.


Scripts plugin v3.3
Back to top
View user's profile Send private message Send e-mail
Instructor
Site Admin


Joined: 06 Jul 2006
Posts: 5398

PostPosted: Thu Jul 03, 2008 7:22 pm    Post subject: Reply with quote

Changed: AkelPad 3.6.0 required.

Added: support for column selection operations (AkelPad 4.x.x only).


Scripts plugin v3.5
Back to top
View user's profile Send private message Send e-mail
Vladimir



Joined: 02 Aug 2008
Posts: 2
Location: Ukraine

PostPosted: Sat Aug 02, 2008 5:39 pm    Post subject: Reply with quote

Такая проблема: при попытке вызвать любой скрипт выскакивает ошибка сервера сценариев Windows 800A01AD "Невозможно создание объекта сервером программирования объектов". В частности, при запуске Test.js в этом сообщении указывается "Строка: 16" и "Символ: 1". Система WinXP Pro SP3, MS Win Script 5.6. С чем может быть связано и как от этого избавиться?
Back to top
View user's profile Send private message
Instructor
Site Admin


Joined: 06 Jul 2006
Posts: 5398

PostPosted: Sun Aug 03, 2008 3:19 am    Post subject: Reply with quote

Vladimir

Scripts-Rus.txt:
Quote:
*** Установка ***

1. Скопируйте "Plugs\*.*" в "{AkelPad}\AkelFiles\Plugs".
2. Запустите "{AkelPad}\AkelFiles\Plugs\Scripts-register.bat".
Back to top
View user's profile Send private message Send e-mail
Vladimir



Joined: 02 Aug 2008
Posts: 2
Location: Ukraine

PostPosted: Sun Aug 03, 2008 8:40 am    Post subject: Reply with quote

Спасибо!
Back to top
View user's profile Send private message
Dystopian



Joined: 08 Jan 2008
Posts: 14

PostPosted: Wed Aug 06, 2008 6:38 am    Post subject: Reply with quote

Вместо Scripts-register.bat и Scripts-unregister.bat можно прямо из плагина использовать такие скрипты:
_Scripts-register.vbs
Code:
Set WshShell = WScript.CreateObject("WScript.Shell")
Set fso = CreateObject("Scripting.FileSystemObject")
If (fso.FileExists("..\Scripts.dll")) Then
   WshShell.CurrentDirectory = WshShell.CurrentDirectory & "\.."
Else
   WshShell.CurrentDirectory = WshShell.CurrentDirectory & "\AkelFiles\Plugs\"
End If
WshShell.Run("regsvr32 Scripts.dll")

_Scripts-unregister.vbs
Code:
Set WshShell = WScript.CreateObject("WScript.Shell")
Set fso = CreateObject("Scripting.FileSystemObject")
If (fso.FileExists("..\Scripts.dll")) Then
   WshShell.CurrentDirectory = WshShell.CurrentDirectory & "\.."
Else
   WshShell.CurrentDirectory = WshShell.CurrentDirectory & "\AkelFiles\Plugs\"
End If
WshShell.Run("regsvr32 /u Scripts.dll")

Каждый скрипт проверяет, откуда он запущен (из плагина или в проводнике), так что можно использовать их, как раньше Scripts-register.bat и Scripts-unregister.bat. Знак '_' в начале имени "поднимет" их в списке скриптов плагина. Не возражаю, если файлы войдут в дистрибутив.
Back to top
View user's profile Send private message
Instructor
Site Admin


Joined: 06 Jul 2006
Posts: 5398

PostPosted: Mon Aug 25, 2008 2:17 pm    Post subject: Reply with quote

indvdum wrote:
вот такая вот проблема: как выделить из %f в функции Exec() только имя файла без расширения?.. или вообще заменить расширение?..

Скрипт для Scripts плагина:

RunBaseName.js
Code:
var AkelPad=new ActiveXObject("AkelPad.document");
var WshShell=new ActiveXObject("WScript.shell");
var fso=new ActiveXObject("Scripting.FileSystemObject");

var hMainWnd=AkelPad.GetMainWnd();
var pFileFullName=AkelPad.GetEditFile(0);
var pBaseName=fso.GetBaseName(pFileFullName);

if (hMainWnd)
{
    WshShell.Run("notepad.exe " + pBaseName + ".txt", 1, true);
}


Кнопка Toobar плагина:
Code:
-"Запустить файл" Call("Scripts::Main", 1, "RunBaseName.js", "", 0) Icon(0)
Back to top
View user's profile Send private message Send e-mail
indvdum



Joined: 25 Aug 2008
Posts: 16

PostPosted: Tue Aug 26, 2008 10:25 pm    Post subject: Reply with quote

всё, настроил акелпад как среду разработки на tasm Wink пришлось правда переписать вышеприведенный скрипт на vbs, на js почему-то ошибки были с командной строкой.. да еще не знаю какой есть аналог на js функции Left() на vbs..
в частности для линковки tlink на vbs:

Code:

Set AkelPad=CreateObject("AkelPad.document")
Set WshShell=CreateObject("WScript.shell")
Set fso=CreateObject("Scripting.FileSystemObject")

hMainWnd=AkelPad.GetMainWnd()
pFileName=AkelPad.GetEditFile(0)
pExt=fso.GetExtensionName(pFileName)
if Lcase(pExt)="asm" then
   pFolder=fso.GetParentFolderName(pFileName)
   pFileName=left(pFileName,len(pFileName)-4)+".obj"
   command="cd " + chr(34) + pFolder + chr(34) + " && c:\tasm\bin\tlink.exe /v " + pFileName

   if hMainWnd <> 0 then WshShell.Run("%COMSPEC% /K " + command)
else WScript.Echo "Редактируемый документ имеет расширение, отличное от" + chr(34) + ".asm" + chr(34)
end if


еще вот такой вопрос (не знаю вообще-то сюда ли по нему надо обращаться..) - в приведенном коде если использовать конструкцию
Code:
if условие1 and условие2

то второе условие никак не обрабатывается.. приходится использовать вложенные if.. непонятно почему так происходит
Back to top
View user's profile Send private message
VladSh



Joined: 29 Nov 2006
Posts: 2614
Location: Киев, Русь

PostPosted: Thu Aug 28, 2008 6:40 am    Post subject: Reply with quote

indvdum
Скрипты собираем здесь.
Back to top
View user's profile Send private message Visit poster's website
VladSh



Joined: 29 Nov 2006
Posts: 2614
Location: Киев, Русь

PostPosted: Fri Aug 29, 2008 7:36 am    Post subject: Reply with quote

Dystopian wrote:
Вместо Scripts-register.bat и Scripts-unregister.bat можно прямо из плагина использовать такие скрипты:
_Scripts-register.vbs
...
_Scripts-unregister.vbs
...


Я делаю проще - в Главном меню создал свою менюху и прописал туда 2 строки:
Code:
  "Scripts-register.bat" Exec("%a\AkelFiles\Plugs\Scripts-register.bat", "%a\AkelFiles\Plugs")
  "Scripts-unregister.bat" Exec("%a\AkelFiles\Plugs\Scripts-unregister.bat", "%a\AkelFiles\Plugs")

Всё работает.
Back to top
View user's profile Send private message Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic    AkelPad Forum Index -> Plugins All times are GMT
Goto page Previous  1, 2, 3 ... 8, 9, 10 ... 53, 54, 55  Next
Page 9 of 55

 
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