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 discussion (1)
Goto page 1, 2, 3 ... 95, 96, 97  Next
 
Post new topic   This topic is locked: you cannot edit posts or make replies.    AkelPad Forum Index -> Plugins
View previous topic :: View next topic  
Author Message
Instructor
Site Admin


Joined: 06 Jul 2006
Posts: 5315

PostPosted: Fri Jul 06, 2007 6:29 pm    Post subject: Scripts discussion (1) Reply with quote

RUS: Обсуждение скриптов.

ENG: Scripts discussion.


Scripts discussion (1) 07.07.2007 - 08.09.2011
Scripts discussion (2) 08.09.2011 - 17.04.2014
Scripts discussion (3)


Last edited by Instructor on Thu Apr 17, 2014 6:45 am; edited 4 times in total
Back to top
View user's profile Send private message Send e-mail
wisgest



Joined: 24 Jun 2007
Posts: 63
Location: Belorussia

PostPosted: Wed Jul 18, 2007 11:38 am    Post subject: Reply with quote

Это и последующие сообщения: #1362 (VladSh), #1363 (wisgest), #1364 (VladSh), #1371 (wisgest), #1373 (VladSh), #1382 (wisgest), #1385 (VladSh), #1391 (wisgest), #1392 (VladSh), #1402 (wisgest), #1408 (VladSh) — перемещены из темы «Scripts collection» (эта тема — «Scripts discussion» — создана позднее), в которой являлись обсуждением вопроса «СКРИПТ ДЛЯ ВСТАВКИ ФАЙЛА».
Рассматривался способ вызова диалога выбора файла.

К сожалению, как это сдлелать штатными функциями я не знаю. Могу предложить следующий "финт ушами":
Code:
var IE = new ActiveXObject("InternetExplorer.Application");
IE.navigate("javascript:\"<FORM><INPUT type='file'></FORM>\";");
while (IE.Busy) WScript.Sleep(100);
IE.document.forms[0].elements[0].click();
var fileName = IE.document.forms[0].elements[0].value;
IE.Quit();


Last edited by wisgest on Thu Sep 03, 2009 2:31 pm; edited 4 times in total
Back to top
View user's profile Send private message
VladSh



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

PostPosted: Wed Jul 18, 2007 12:03 pm    Post subject: ошибка Reply with quote

wisgest
В таком варианте у меня сразу автоматом стартует DownloadMaster (у меня там галка "отслеживать URL в буфере обмена", без неё неудобно..) с параметром |"javascript:"<FORM><INPUT type='file'></FORM>";|
а потом на строке 7 вылетает ошибка 80004005.
Back to top
View user's profile Send private message Visit poster's website
wisgest



Joined: 24 Jun 2007
Posts: 63
Location: Belorussia

PostPosted: Wed Jul 18, 2007 12:17 pm    Post subject: Reply with quote

А если так?:
Code:
var IE = new ActiveXObject("InternetExplorer.Application");
IE.navigate("");
while (IE.Busy) WScript.Sleep(100);
IE.document.write("<FORM><INPUT type='file'></FORM>");
IE.document.close();
IE.document.forms[0].elements[0].click();
var fileName = IE.document.forms[0].elements[0].value;
IE.Quit();
Back to top
View user's profile Send private message
VladSh



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

PostPosted: Wed Jul 18, 2007 12:32 pm    Post subject: ничего Reply with quote

wisgest
Ничего не происходит, но и ошибок нет.

Updated: oops! Диалоги на самом деле есть, но ПОД AkelPad'ом!
Back to top
View user's profile Send private message Visit poster's website
wisgest



Joined: 24 Jun 2007
Posts: 63
Location: Belorussia

PostPosted: Wed Jul 18, 2007 2:06 pm    Post subject: Reply with quote

Кстати, если нет открытых окон Internet Explorer, то диалог выводится на переднем плане.
Для того, чтобы на панели задач появлялась кнопка (она будет подмаргивать), позволяющая переключится на диалог, не сворачивая AkelPad, после строки
Code:
IE.document.close();
можно добавить:
Code:
IE.document.title = WScript.ScriptName;
IE.height = 0; IE.width = 0; IE.visible = true;
Back to top
View user's profile Send private message
VladSh



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

PostPosted: Wed Jul 18, 2007 2:29 pm    Post subject: Работает! Reply with quote

wisgest
Да, прикольно, Laughing
ещё такое маленькое окошко вылазит под диалогом открытия файла.. без него никак низя? Very Happy

Кстати у меня и IE и EXPLORER запущены и ничего не мигает - всё нормально открывается поверх Akel'а!
P.S. WinXP sp2 ru
Back to top
View user's profile Send private message Visit poster's website
wisgest



Joined: 24 Jun 2007
Posts: 63
Location: Belorussia

PostPosted: Wed Jul 18, 2007 4:36 pm    Post subject: Re: Работает! Reply with quote

У меня никаких окошек нет (SP1). Возможно дело в SP2, не позволяющий "из соображений безопасности" задать нулевые размеры окна (IE.height = 0; IE.width = 0;)? Может попробовать перемещать окошко за пределы экрана:
Code:
IE.document.Script.moveTo(-500, -500);
но опять же, если дело в SP2, то неуверен, что она это позволит.
Мигание, в принципе, могло быть отключено (или не включено), см. http://doclab.org/2007/01/21/print:page,1,miganie_knopki_na_paneli_zadach.html
VladSh wrote:
всё нормально открывается поверх Akel'а!
Так поверх или под?!!

Вместо wsh-сценария можно создать приблизительно такое hta-приложение
Code:
<HTML>
<HEAD><HTA:APPLICATION
 applicationName='AkelpadFileInsertion'
 singleInstance='yes'
 caption='no'
 showInTaskBar='no'
/></HEAD>
<BODY><FORM><INPUT type='file'></FORM>
<SCRIPT language='JavaScript'>
window.resizeTo(0,0);
document.forms[0].elements[0].click();
var fileName = document.forms[0].elements[0].value;
/*
  Делаем с fileName, что нам надо...
*/
window.close();
</SCRIPT>
</BODY></HTML>
и создать для него в меню команду:
Exec('mshta "<путь к hta-файлу>"'), в этом случае диалог выбора файла у меня всегда выводится на переднем плане.
Back to top
View user's profile Send private message
VladSh



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

PostPosted: Wed Jul 18, 2007 5:07 pm    Post subject: Re: Работает! Reply with quote

wisgest wrote:
Может попробовать перемещать окошко за пределы экрана:
Code:
IE.document.Script.moveTo(-500, -500);
но опять же, если дело в SP2, то неуверен, что она это позволит.

Точно - вылетает ошибка "Отказ в доступе".

wisgest wrote:

VladSh wrote:
всё нормально открывается поверх Akel'а!
Так поверх или под?!!

После тех 2-х строк стало открываться поверх! и маленькое окошко видно только если перемещать окно выбора файла. Так что всё нормально! Smile

wisgest wrote:

Вместо wsh-сценария можно создать приблизительно такое hta-приложение...

Попробую. Конечно же лучше, когда работает под любой виндой.
А ещё лучше если независимо от платформы Smile
Updated:
----------
Попробовал - диалог мерзко дёргается, как бы с запаздываением, а маленькое окошко всё равно видно - маленький квадратик в левом верхнем углу диалога Smile
Недостаток обоих вариантов - можно свернуть AkelPad и потом очень долго искать окно с диалогом. Плохо что нельзя задать APPLMODAL, чтобы диалог был привязан к окну Akel'а, а так получается Akel можно закрыть, а окно будет болтаться.
Так что останавливаюсь пока на чистом JavaScript'е.
Спасибо за помощь! Cool
----------

ПыСы: никогда не думал, что такая простая вещь - проблема :-\
Back to top
View user's profile Send private message Visit poster's website
wisgest



Joined: 24 Jun 2007
Posts: 63
Location: Belorussia

PostPosted: Thu Jul 19, 2007 5:05 am    Post subject: Re: СКРИПТ ДЛЯ ВСТАВКИ ФАЙЛА Reply with quote

VladSh
В InsertFile.js в строке:
Code:
    var File = fso.OpenTextFile(fileName, 1, false, 0);
вместо 0 лучше поставить -2 - тогда можно будет вставлять файлы и в юникоде.
Back to top
View user's profile Send private message
VladSh



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

PostPosted: Thu Jul 19, 2007 7:47 am    Post subject: Re: СКРИПТ ДЛЯ ВСТАВКИ ФАЙЛА Reply with quote

wisgest wrote:
в строке:
Code:
    var File = fso.OpenTextFile(fileName, 1, false, 0);
вместо 0 лучше поставить -2 - тогда можно будет вставлять файлы и в юникоде.

Согласен. Изменил код InsertFile.


UPDATED:
Code:
//Открытие файла
var OpenFileDialog = new ActiveXObject("UserAccounts.CommonDialog");
OpenFileDialog.Filter = 'All Files|*.*';
OpenFileDialog.ShowOpen();
fileName = OpenFileDialog.FileName;

Взято здесь: http://www.microsoft.com/technet/scriptcenter/resources/qanda/jan05/hey0128.mspx

Большая просьба! ПОЖАЛУЙСТА попробуйте и отпишитесь!
Т.к. я сначала пытался использовать MSComDlg.CommonDialog, так он писал что-то типа "Нелицензированное использование..." А этот вариант заработал без вопросов. Нужно знать, он у всех работает?


Last edited by VladSh on Wed Jun 23, 2010 2:46 pm; edited 2 times in total
Back to top
View user's profile Send private message Visit poster's website
wisgest



Joined: 24 Jun 2007
Posts: 63
Location: Belorussia

PostPosted: Thu Jul 19, 2007 6:38 pm    Post subject: UserAccounts.CommonDialog Reply with quote

Апплет "Учётные записи пользователей" Панели управления в Windows XP фактически представляет собой hta-приложение (nusrmgr.hta), находящееся в ресурсах файла nusrmgr.cpl. Для того чтобы из него можно было вызывать диалог выбора рисунка пользователя и создан объект UserAccounts.CommonDialog. Насколько я знаю, до Windows XP он недоступен.
Back to top
View user's profile Send private message
VladSh



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

PostPosted: Fri Jul 20, 2007 9:23 am    Post subject: К сожалению Reply with quote

действительно... Только что проверил на Win2000 - не работает Sad а так всё было бы красиво...
Back to top
View user's profile Send private message Visit poster's website
Idjo



Joined: 06 May 2007
Posts: 21

PostPosted: Mon Aug 06, 2007 8:20 pm    Post subject: Reply with quote

VladSh wrote:
Idjo, Instructor
Still there is an idea Idea - by pressing Enter after a sign { on a new line at once to do the necessary space + on the third line to put closing }. And that this script worked always in a background, instead of on hotkeys. Is better to make small plug-in which would support it + automatic formation of spaces. It would be possible to take options of spaces from options AkelPad'а (spaces and their quantity or tabulation).
Idea with Shift+Right/Left not so good, even, I would tell, very bad - it is impossible to select the text!!! It is much better to use Alt+Right/Left etc.


Thanks for the English. Google Translate doesn't do a very good gob. Laughing
I can make a plugin like but there is no option to assign it to the Enter key. And you're right, it'd be better as a plug-in.
And I assigned my plug-in to Alt+Right/Left, I just called it Shift+Right/Left because it shifts the text. Smile
Back to top
View user's profile Send private message
VladSh



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

PostPosted: Tue Aug 07, 2007 10:39 am    Post subject: просьба Reply with quote

Instructor wrote:
SelCompliteLine.js
Code:
/// Select complite lines
...

Код отличный! Только нужно, чтобы он работал и без выделения, т.е. когда я просто установил курсор в определённую строку.
Можете подправить? /здесь должно быть просящая рожа/ Very Happy

Idjo wrote:
I can make a plugin like but there is no option to assign it to the Enter key. And you're right, it'd be better as a plug-in.
And I assigned my plug-in to Alt+Right/Left, I just called it Shift+Right/Left because it shifts the text. Smile

EN: On ...+Enter at me too it has not turned out to appoint a combination of keys therefore I use Ctrl+Down.
Sorry, but I have not restrained - have written script itself Mr. Green Yet I do not wish to spread, as SelCompliteLine.js works not absolutely how it would be desirable...
Then it will be possible to do a plug-in.

RU: На ...+Enter у меня тоже не получилось назначить комбинацию клавиш, потому использую Ctrl+Down.
Прошу прощения, но я не сдержался - написал скрипт сам Mr. Green Пока не хочу выкладывать, так как SelCompliteLine.js работает не совсем так, как хотелось бы... т.е. скрипт ещё глючит.
Потом можно будет делать и плагин.


Last edited by VladSh on Wed Jun 23, 2010 2:48 pm; edited 1 time in total
Back to top
View user's profile Send private message Visit poster's website
Display posts from previous:   
Post new topic   This topic is locked: you cannot edit posts or make replies.    AkelPad Forum Index -> Plugins All times are GMT
Goto page 1, 2, 3 ... 95, 96, 97  Next
Page 1 of 97

 
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