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
laburj



Joined: 26 Nov 2007
Posts: 37

PostPosted: Sat Nov 29, 2008 11:21 pm    Post subject: Батник для создания нового файла с содержимым буфера обмена Reply with quote

хотелось бы иметь bat-ник (на который после будет повешен хоткей), который создавал новый файл (если AkelPad уже запущен-то открывается новая вкладка) и в него копировалось содержание буфера обмена.
есть ли возможность такое реализовать?
(в хелпе нашёл только информацию только о создании файлов с заранее выбранным названием файла)
спасибо
Back to top
View user's profile Send private message
DV



Joined: 16 Nov 2006
Posts: 840
Location: Kyiv, Ukraine

PostPosted: Sun Nov 30, 2008 11:00 am    Post subject: Re: Батник для создания нового файла с содержимым буфера обм Reply with quote

laburj wrote:
есть ли возможность такое реализовать?

Используйте плагин Scripts с вызовом скрипта примерно такого содержания:

Code:
var AkelPad=new ActiveXObject("AkelPad.document");
var hMainWnd = AkelPad.GetMainWnd();
var pText = AkelPad.GetClipboardText();
AkelPad.SendMessage(hMainWnd, 273 /*WM_COMMAND*/, 4101 /*IDM_FILE_NEW*/, 0);
AkelPad.SetSel(0, -1);
AkelPad.ReplaceSel(pText);


Подробнее см. "Scripts-Methods.txt", который входит в состав плагина Scripts.
Back to top
View user's profile Send private message
laburj



Joined: 26 Nov 2007
Posts: 37

PostPosted: Sun Nov 30, 2008 12:21 pm    Post subject: Reply with quote

я наверно плохо объяснил, что я хочу

я хотел бы создать хоткей более глобальный, который запускался в любой программе:
пр. скопровал текст в опере, нажал хоткей- и получил новый файл с содержимым буфера в akelpadе

т.е. на хоткей я хотел бы повесить батник с командой типа (если бы это было возможно)
akelpad.exe /n /clippaste
Back to top
View user's profile Send private message
Instructor
Site Admin


Joined: 06 Jul 2006
Posts: 5324

PostPosted: Wed Dec 03, 2008 10:00 am    Post subject: Reply with quote

Scripts plugin v3.6 + ClipPaste.js

И добавляете команду для глобальной горячей клавиши:
Code:
WScript "c:\Program Files\AkelPad\AkelFiles\Plugs\Scripts\ClipPaste.js" "c:\Program Files\AkelPad\AkelPad.exe"
Back to top
View user's profile Send private message Send e-mail
laburj



Joined: 26 Nov 2007
Posts: 37

PostPosted: Wed Dec 03, 2008 3:19 pm    Post subject: Reply with quote

спасибо огромное!

только одно "НО":

в случае, когда уже AkelPad запущен (свёрнут в панель задач) и после нажатия хоткея окно AkelPad'a не активируется.

можно ли это исправить?
Back to top
View user's profile Send private message
Instructor
Site Admin


Joined: 06 Jul 2006
Posts: 5324

PostPosted: Wed Dec 03, 2008 4:39 pm    Post subject: Reply with quote

Подкорректировано: ClipPaste.js
Back to top
View user's profile Send private message Send e-mail
laburj



Joined: 26 Nov 2007
Posts: 37

PostPosted: Wed Dec 03, 2008 5:46 pm    Post subject: Reply with quote

отлично! спасибо ещё раз
а я кстати тем временем нашёл ещё один вариант решения:

в скрипте программы AutoHotkey, запускающем по горячей клавише команду
Code:
WScript "c:\totalcmd\utilits\AkelPad\AkelFiles\Plugs\Scripts\ClipPaste.js" "c:\totalcmd\utilits\AkelPad\AkelPad.exe"


добавил строчку, активирующую окно AkelPad:
Code:
WinActivate, ahk_class AkelPad4
Back to top
View user's profile Send private message
laburj



Joined: 26 Nov 2007
Posts: 37

PostPosted: Sat May 01, 2010 3:49 pm    Post subject: Reply with quote

Instructor, обращаюсь вновь за помощью! хотелось бы подправить существующий скрипт, скажем так сделать аналог плагина CaptureClipboard.

т.е. примерно так:
при запуске скрипта в файл на активной вкладке в то место, где стоит курсор вставляется разделитель (например, два перехода на новую строчку), а после вставляется находящийся в буфере текст.

очень здорово было бы если также была возможность выбора поведения скрипта:
-проводить эту операцию в фоне (т.е. AkelPad не активировался)
-и наоборот

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


Joined: 06 Jul 2006
Posts: 5324

PostPosted: Sun May 02, 2010 2:37 am    Post subject: Reply with quote

laburj
Чтобы вставить разделитель надо просто изменить строчку
Code:
AkelPad.ReplaceSel(pText);

на
Code:
AkelPad.ReplaceSel("\n--------------------\n" + pText);


Чтобы окно не разворачивалось комментируем или удаляем блок:
Code:
if (oFunction.Call("user32::GetForegroundWindow") != hMainWnd)
{
   //...
}
Back to top
View user's profile Send private message Send e-mail
laburj



Joined: 26 Nov 2007
Posts: 37

PostPosted: Sun May 02, 2010 6:36 pm    Post subject: Reply with quote

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


Joined: 06 Jul 2006
Posts: 5324

PostPosted: Mon May 03, 2010 3:56 am    Post subject: Reply with quote

laburj
Чтобы не создавалась вкладка комментируем строку:
Code:
AkelPad.SendMessage(hMainWnd, 273 /*WM_COMMAND*/, 4101 /*IDM_FILE_NEW*/, 0);
Back to top
View user's profile Send private message Send e-mail
laburj



Joined: 26 Nov 2007
Posts: 37

PostPosted: Mon May 03, 2010 5:24 am    Post subject: Reply with quote

Instructor
в таком случае используется та же вкладка, но содержимое вкладки полностью затирается содержимым буфера
Back to top
View user's profile Send private message
Instructor
Site Admin


Joined: 06 Jul 2006
Posts: 5324

PostPosted: Mon May 03, 2010 5:28 am    Post subject: Reply with quote

Тогда меняем:
Code:
AkelPad.SetSel(0, -1);

на
Code:
AkelPad.SetSel(-1, -1);

Smile
Back to top
View user's profile Send private message Send e-mail
laburj



Joined: 26 Nov 2007
Posts: 37

PostPosted: Mon May 03, 2010 6:16 am    Post subject: Reply with quote

уже лучше) но текст вставляется в конце файла, а не в то место, где стоит курсор
Back to top
View user's profile Send private message
Instructor
Site Admin


Joined: 06 Jul 2006
Posts: 5324

PostPosted: Mon May 03, 2010 6:21 am    Post subject: Reply with quote

laburj
Тогда вообще уберите эту строчку.
Back to top
View user's profile Send private message Send e-mail
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