Scripts discussion (1)

Discuss and announce AkelPad plugins
Locked
  • Author
  • Message
Offline
Posts: 1873
Joined: Mon Aug 06, 2007 1:07 pm
Contact:

Post by Infocatcher »

VladSh wrote:правда не знаю, можно ли это поправить?..
Можно. :)
VladSh wrote:т.е. съедает пробелы/табы в начале строки.
С этим сложнее. Вроде, получилось, но не везде могут учитываться возможные пробелы слева.

  _punctuationFixer.js


P.S.
Наверное уже достал
Тут мера, мера важна, а мозгами пошевелить иногда полезно. :D

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

Post by VladSh »

Спасибо! :)
Отступы слева не съедаются!
Мозгой пошевелить, конечно, полезно.. только сейчас такая запара пошла, что на свободное "шевеление" времени почти не осталось(((
В такой ситуации это надо или серьёзно заниматься или не заниматься вообще.

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

Post by Instructor »

VladSh wrote:
Instructor wrote:Почему MemAlloc и MemFree вызываются без параметра true?
У Вас в скрипте InsertDate.js они тоже без 2-го параметра, так и должно быть?
Т.е. я хотел спросить: всегда они там должны быть или иногда? Если иногда, то когда именно?
true - если работа идет с памятью AkelPad.exe, false - если с памятью WScript.exe.

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

Post by VladSh »

Instructor

Из этого скрипта:

Code: Select all

dwOptions=AkelPad.SendMessage(hEditWnd, 3227 /*AEM_GETOPTIONS*/, 0, 0); 

  if (dwOptions & 0x400 /*AECO_ACTIVECOLUMN*/)
1. Что такое dwOptions и 0x400?
2. Где можно почитать описание всех команд по номерам, например как здесь - 3227; в доке есть только команды, с 4xxx?

Offline
Posts: 2248
Joined: Tue Aug 07, 2007 2:03 pm
Location: Vinnitsa, Ukraine

Post by FeyFre »

VladSh
В документации описаны Команды, т.е в скрипте оно выглядит так:

Code: Select all

dwResult = AkelPad.SendMessage(hMainWnd, 0x0111/*WM_COMMAND*/, 4212/*IDM_VIEW_SPLIT_WINDOW_ALL*/,0);
А данный пример - оконные сообщения. Описание их можно посмотреть в исходниках в файлах:
AkelEdit\AkelEdit.h
AkelEdit\AkelEdit.cpp
(ну и остальные исходники)

Offline
Posts: 37
Joined: Mon Nov 26, 2007 9:51 pm

Post by laburj »

а можно ли изменить скрипт RenameFileDialog.js так, чтобы переименовывалось только название файла, без расширения?

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

Post by VladSh »

laburj
Всё было бы проще, если бы в метод InputBox Scripts-плагина можно было бы кроме самого передаваемого текста передавать текст, который необходимо было бы выделить в окошке...
Может то, что получилось, и некрасиво с точки зрения профи, но зато оно работает :P
Скопируйте новый текст скрипта (там внизу есть примеры вызова) :wink:

Offline
Posts: 54
Joined: Wed Oct 21, 2009 7:57 pm

Post by Deft »

VladSh wrote:Бывает полезно, когда пришёл текст по инету...

DelLineFeed.js
...
при попытке выполнения этого скрипта
ошибка:
строка 7
символ 1
ошибка Предполагается наличие объекта
код 800A138F

че не так настроил, поясните плиз, никак не соображу

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

Post by VladSh »

Deft
Строка в DelLineFeed.js:

Code: Select all

eval(AkelPad.ReadFile(AkelPad.GetAkelDir() + "\\AkelFiles\\Plugs\\Scripts\\SelCompleteLine.js", 0xD, 0, 0));
говорит о том, что в этом скрипте используется файл скрипта SelCompleteLine.js, которого по видимому у Вас нет в каталоге со скриптами. Cоздайте и всё заработает :wink:

P.S. Кстати, благодаря замечанию, увидел в SelCompleteLine.js старый, теперь некорректный, параметр в AutoRedrawOn!
Спасибо 8)
Last edited by VladSh on Fri Nov 06, 2009 10:16 am, edited 1 time in total.

Offline
Posts: 54
Joined: Wed Oct 21, 2009 7:57 pm

Post by Deft »

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

было

Code: Select all

001 Filteria - Heliopolis

002 Jikkenteki - The Long Walk Home

003 O.O.O.D. - Free Range
стало

Code: Select all

001 Filteria - Heliopolis002 Jikkenteki - The Long Walk Home003 O.O.O.D. - Free Range
а надо

Code: Select all

001 Filteria - Heliopolis
002 Jikkenteki - The Long Walk Home
003 O.O.O.D. - Free Range
мне часто приходится форматировать списки таким образом
раньше пользовался функцией "убрать переводы строк" в проге Texter2
вот ищу в AkelPad аналогичную функцию
нужен новый скрипт?

Offline
Posts: 37
Joined: Mon Nov 26, 2007 9:51 pm

Post by laburj »

VladSh
всё отлично работает, спасибо!
поставил на хоткей alt+F2 - переименование без расширения, а на shift+F2 - с расширением.
получилось даже удобнее, чем хотел! и не надо кучу скриптов)

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

Post by Instructor »

Deft wrote:... мне надо чтобы скрипт удалил не все переводы строк, а только пустые строки...
DelEmptyLines.js

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

Post by VladSh »

Instructor wrote:DelEmptyLines.js
Ага, я тоже им пользуюсь :)

Но везде заменяю:

Code: Select all

var pSelText;
AkelPad.SetSel(0, -1); 
pSelText=AkelPad.GetSelText();
на

Code: Select all

var pSelText = AkelPad.GetSelText() || AkelPad.SetSel(0, -1) || AkelPad.GetSelText();
чтобы скрипты работали не только для всего файла, а и для выделенного текста.

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

Post by VladSh »

Infocatcher wrote:А чем не нравится `"%f"` ?
newFileTemplate.js
Если в аргументах передать ссылку на файл, будет создан новый файл с содержимым старого.
Содержимое файла не копируется в новый в следующих случаях:
- если "файл" новый, т.е. не сохранялся;
- если текущий файл без расширения.

Offline
Posts: 876
Joined: Tue Jul 24, 2007 8:54 am

Post by Fr0sT »

Для удаления пустых строк можно заюзать замену \n\n на \n.
И это, исправьте уже SelCompl_i_teLine, в глаза бросается
Locked