Scripts discussion (1)

Discuss and announce AkelPad plugins
Locked
  • Author
  • Message
Offline
Posts: 3234
Joined: Wed Nov 29, 2006 1:19 pm
Location: Киев, Русь
Contact:

Post by VladSh »

Infocatcher wrote:Удобно должно быть в первую очередь пользователю.
Ему будет удобно, когда на ftp будут папки по языкам, например RU, а в ней lng-файлы для всех скриптов сразу; в AkelUpdater'е указываешь RU и он всё автоматом подтягивает для тех скриптов, которые имеются в ..\Plugs\Scripts\. Всё остальное - это "закат Солнца вручную" ©

DV
Offline
Posts: 1291
Joined: Thu Nov 16, 2006 11:53 am
Location: Kyiv, Ukraine

Post by DV »

Знаете ли вы, что в скрипте можно использовать системную фичу распаковки архивов (например, .zip)?

Code: Select all

// USAGE:  Unpack.js <source archive file> <destination folder>
//         (e.g. Unpack.js "C:\temp\file.zip" "C:\temp\unpacked")

if (WScript.Arguments.Length == 0)
{
  WScript.Echo("Usage:  Unpack.js <source archive file> <destination folder>");
  WScript.Quit();
}

var oFileSystem = new ActiveXObject("Scripting.FileSystemObject");
var oShell = new ActiveXObject("Shell.Application");

var sSrcArchive = oFileSystem.GetAbsolutePathName(WScript.Arguments(0));
if (!oFileSystem.FileExists(sSrcArchive))
{
  if (!oFileSystem.FolderExists(sSrcArchive))
  {
    WScript.Echo("Source does not exist:\n" + sSrcArchive);
    WScript.Quit();
  }
}

var sDstFolder;
if (WScript.Arguments.Length == 1)
{
  sDstFolder = oFileSystem.GetBaseName(WScript.Arguments(0));
}
else
{
  sDstFolder = WScript.Arguments(1);
}
sDstFolder = oFileSystem.GetAbsolutePathName(sDstFolder);
if (!oFileSystem.FolderExists(sDstFolder))
{
  oFileSystem.CreateFolder(sDstFolder);
}

var oDstFolder = oShell.NameSpace(sDstFolder);
var oSrcFolder = oShell.NameSpace(sSrcArchive);
var oFolderItems = oSrcFolder.Items();
for ( var i = 0; i < oFolderItems.Count; i++ )
{
  oDstFolder.CopyHere(oFolderItems.Item(i), 0);
}

Offline
Posts: 1873
Joined: Mon Aug 06, 2007 1:07 pm
Contact:

Post by Infocatcher »


Offline
Posts: 1873
Joined: Mon Aug 06, 2007 1:07 pm
Contact:

Post by Infocatcher »



KDJ
Offline
Posts: 1949
Joined: Sat Mar 06, 2010 7:40 pm
Location: Poland

Post by KDJ »

VladSh wrote:Proposal for a script Translator.js: add to script settings the ability to specify a list of used languages for the ComboBox (whole list - it is inconvenient).
Yes, I saw this in plugin QuickTranslator for FireFox.
For now, I do not know how to do it.
If the translator only supports one service, eg Google, it would be easier.

DV
Offline
Posts: 1291
Joined: Thu Nov 16, 2006 11:53 am
Location: Kyiv, Ukraine

Post by DV »

Вопрос по скрипту converter.js версии 0.2.1 от Infocatcher.
Выделяю в редакторе "C:\Program Files\", запускаю скрипт, выбираю Escape sequences, направление Encode, нажимаю Convert.
Ожидаю увидеть "C:\\Program Files\\", а вместо этого появляется сообщение "Nothing to convert!".

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

Post by Instructor »

VladSh
В скрипте CutFormattingText.js по видимому лишняя строка:

Code: Select all

var pText = AkelPad.GetSelText() || AkelPad.SetSel(0, -1) || AkelPad.GetSelText();

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

Post by VladSh »

Instructor
Когда в файле ничего не выделено функция копирования работает для всего содержимое файла, т.е. мне нужно всё очистить, для этого и нужно выделить всё.
Хотя последний кусок вроде лишний, спасибо! :)

Добавлено: кстати, странно, что скопированный с форматированием текст в окна AkelPad'а уже не вставляется.. Это потому что буфер другой используется?

Offline
Posts: 1873
Joined: Mon Aug 06, 2007 1:07 pm
Contact:

Post by Infocatcher »

DV
Так и задумано. Раскодировать должно все подряд, а под кодированием подразумевается замена не-ASCII-символов на \uabcd.

А для \ -> \\ имеется «String literals special symbols».

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

Post by Instructor »

VladSh wrote:Добавлено: кстати, странно, что скопированный с форматированием текст в окна AkelPad'а уже не вставляется.. Это потому что буфер другой используется?
У вас используется флаг 16 без флагов 32 и 64.

Coder-Rus.txt:
По умолчанию: 16+32=48.

Offline
Posts: 670
Joined: Thu Jun 03, 2010 8:47 am
Location: Сочи, Хоста
Contact:

Post by Andrey_A_A »

Подскажите, пожалуйста, как записать текст в файл с кодировкой UTF-16. Написал скрипт, который записывает в файл определённую информацию, но только в при тестировании заметил, что файл в кодировке UTF-16. И поэтому информация записывается не текстом, а китайскими иероглифами...

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

Post by Fr0sT »

Это родная кодировка для AP и JavaScript. А как записываешь в файл? Если средствами AP, то в методе есть параметр "кодировка"

Offline
Posts: 670
Joined: Thu Jun 03, 2010 8:47 am
Location: Сочи, Хоста
Contact:

Post by Andrey_A_A »

А как записываешь в файл?
скрипт vbs
FSO.OpenTextFile(sFile, 2).Write Text

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

Post by VladSh »

Instructor
Действительно... Спасибо!

Andrey_A_A wrote:FSO.OpenTextFile(sFile, 2).Write Text
См. AkelPad.SaveFile() в Scripts-Rus.txt.


KDJ
I propose to transform InsertFolderName.js into SHBrowseForFolder.js, which make the function SHBrowseForFolder() and put in ...\Scripts\Include\... It will be very convenient.
Locked