Ru-Board.club
← Вернуться в раздел «Программы»

» AkelPad

Автор: addhaloka
Дата сообщения: 20.08.2012 19:56
GoblinNN 20:49 20-08-2012
Цитата:
мда... все в бога ударились, веру включаем мозг отключаем? послал так послал. найди его там.
Не знаю, чего там искать. Вот данный скрипт, по ссылке gyra сразу нашел, в последнем посте на странице:

Автор: GoblinNN
Дата сообщения: 20.08.2012 20:08
addhaloka 20:56 20-08-2012
Цитата:
Не знаю, чего там искать. Вот данный скрипт, по ссылке gyra сразу нашел, в последнем посте на странице:
ага. не прав я был. что-то у меня браузер чудит. почистил кеш/куки и все открылось.

[more=AlignJustify.js]
Код: // Align selected lines to the left, right, center or justify - 2010-09-12
//
// Call("Scripts::Main", 1, "AlignJustify.js", "L") - left
// Call("Scripts::Main", 1, "AlignJustify.js", "R") - right
// Call("Scripts::Main", 1, "AlignJustify.js", "C") - center
// Call("Scripts::Main", 1, "AlignJustify.js", "J") - justify
//
// To effect was clearly visible, you should use a fixed-width font.


var hMainWnd = AkelPad.GetMainWnd();
var hEditWnd = AkelPad.GetEditWnd();
var nWordWrap = AkelPad.SendMessage(hEditWnd, 3241 /*AEM_GETWORDWRAP*/, 0, 0);
var bColSel = AkelPad.SendMessage(hEditWnd, 3127 /*AEM_GETCOLUMNSEL*/, 0, 0);
var pAction;

if (! hEditWnd)
WScript.Quit();
if (WScript.Arguments.length)
pAction = WScript.Arguments(0);
if ((! pAction) || ("LRCJ".indexOf(pAction) < 0))
WScript.Quit();

SetRedraw(hEditWnd, false);
if (nWordWrap > 0) AkelPad.Command(4209 /*IDM_VIEW_WORDWRAP*/);

if ((! bColSel) && (! LinesSelect(hEditWnd)))
{
if (nWordWrap > 0) AkelPad.Command(4209 /*IDM_VIEW_WORDWRAP*/);
SetRedraw(hEditWnd, true);
WScript.Quit();
}


var pTxt = AkelPad.GetSelText(1 /*\r*/).replace(/\t/gm, " "); //Replace tabs to spaces
var lpLines = pTxt.split("\r");
var nLines = lpLines.length;
var nLenLine = 0;
var nLenLine1;
var lpWords;
var lpSpaces;
var pPad;
var i;
var n;

for (i = 0; i < nLines; ++i)
{
if (nLenLine < lpLines[i].length)
nLenLine = lpLines[i].length;

lpLines[i] = lpLines[i].replace(/(^ +)|( +$)/g, ""); //Delete leading and trailing spaces
}

if (pAction == "J")
{
for (i = 0; i < nLines; ++i)
{
lpWords = lpLines[i].split(/ +/);

if (lpWords.length > 1)
{
nLenLine1 = lpLines[i].replace(/ +/g, "").length;
lpSpaces = [];

for (n = 0; n < lpWords.length - 1; ++n)
lpSpaces.push(Replicate(" ", Math.floor((nLenLine - nLenLine1) / (lpWords.length - 1))));

for (n = 0; n < (nLenLine - nLenLine1) % (lpWords.length - 1); ++n)
lpSpaces[n] += " ";

lpLines[i] = lpWords[0];
for (n = 0; n < lpSpaces.length; ++n)
lpLines[i] = lpLines[i] + lpSpaces[n] + lpWords[n + 1];
}
else
lpLines[i] = Pad(lpWords[0], nLenLine, "R");
}
}

else
{
pPad = pAction;

if (pAction == "L")
pPad = "R";
else if (pAction == "R")
pPad = "L";

for (i = 0; i < nLines; ++i)
lpLines[i] = Pad(lpLines[i], nLenLine, pPad);
}

AkelPad.ReplaceSel(lpLines.join("\r"), true);

if (nWordWrap > 0) AkelPad.Command(4209 /*IDM_VIEW_WORDWRAP*/);
if (bColSel) AkelPad.SendMessage(hEditWnd, 3128 /*AEM_UPDATESEL*/, 0x1 /*AESELT_COLUMNON*/, 0);

SetRedraw(hEditWnd, true);


////////////////////
function Pad(pString, nLen, pType, pChar)
{
var i = 0;

if (! pType) pType = "R";
if (! pChar) pChar = " ";

if (pType == "R")
{
while (pString.length < nLen)
pString += pChar;
}
else if (pType == "L")
{
while (pString.length < nLen)
pString = pChar + pString;
}
else if (pType == "C")
{
while (pString.length < nLen)
{
if ((i % 2) == 0)
pString += pChar;
else
pString = pChar + pString;
++ i;
}
}
return pString;
}

function Replicate(pStrIn, nNum)
{
var pStrOut = "";
var i;

for (i=0; i < nNum; ++i)
pStrOut += pStrIn;

return pStrOut;
}

function LinesSelect(hWnd)
{
var bSelLine;
var nBegSel = AkelPad.GetSelStart();
var nEndSel = AkelPad.GetSelEnd();
var nLine1 = AkelPad.SendMessage(hWnd, 1078 /*EM_EXLINEFROMCHAR*/, 0, nBegSel);
var nLine2 = AkelPad.SendMessage(hWnd, 1078 /*EM_EXLINEFROMCHAR*/, 0, nEndSel);

nBegSel = AkelPad.SendMessage(hWnd, 187 /*EM_LINEINDEX*/, nLine1, 0);
nEndSel = AkelPad.SendMessage(hWnd, 187 /*EM_LINEINDEX*/, nLine2, 0) + AkelPad.SendMessage(hWnd, 193 /*EM_LINELENGTH*/, nEndSel, 0);

if (nBegSel < nEndSel)
{
AkelPad.SetSel(nBegSel, nEndSel);
bSelLine = true;
}
return bSelLine;
}

function SetRedraw(hWnd, bRedraw)
{
var oSys = AkelPad.SystemFunction();
AkelPad.SendMessage(hWnd, 11 /*WM_SETREDRAW*/, bRedraw, 0);
bRedraw && oSys.Call("user32::InvalidateRect", hWnd, 0, true);
}
Автор: Waran789
Дата сообщения: 20.08.2012 20:13
Друзья, я уже обращался в этом топике с просьбой, чтобы донесли до автора такую вот "хотелку" - добавить в редактор функцию по свертке произвольно выделенного текста. Это очень удобно когда редактируешь или набираешь простой текст,но большой. Я видел такую фичу в двух редакторах - "    RJ TextEd" и "JGsoft© EditPad Pro". "RJ TextEd" - слишком громоздкий, а "JGsoft© EditPad Pro" не имеет поддержки русского языка.
Автор: GoblinNN
Дата сообщения: 20.08.2012 21:33
gyra 20:09 20-08-2012
Цитата:
Только если у iya_grisho не сборка от Andrey_A_A нужны свои иконки и поменять пути к ним в коде.
а почему просто этот файл не положить рядом? http://rghost.ru/39901434
Автор: gyra
Дата сообщения: 20.08.2012 21:43
GoblinNN
Да можно конечно, просто уточнил... Очевидно, что iya_grisho плохо во всем этом разбирается.
Автор: tolks
Дата сообщения: 20.08.2012 21:47
самый лучший блокнот что есть
Автор: VSHY
Дата сообщения: 21.08.2012 17:14
Andrey_A_A

Цитата:
Скрипт AlignJustify.js
на основном сайте ссылку не знаю
Эта ссылка не лучше. Некорректно выкладывать ссылки на закрытый ресурс (сообщение "Доступно только для пользователей"). Тем более, что скрипт чужой (не автора/хозяина ресурса, на который была ссылка).

GoblinNN
Постить код без указания имени автора некорректно. Тем более, что он выложен на открытом ресурсе автором. Лучше просто дать ссылку на оригинальный пост.

Цитата:
а почему просто этот файл не положить рядом?
dll 614kb ради 4-х иконок?
Лучше выкусить эти иконки из файла и положить во внутреннюю папку AkelPad'а, например в ...\AkelPad\AkelFiles\Plugs\icons.

Waran789
Посмотрите, как работает сворачивание блоков текста и всё поймёте (об этом уже говорили на форума AkelPad'а). Оно работает по начальному и конечному тэгу. Если вы так сильно хотите, то:
- разработайте свой вариант открывающего и закрывающего тэга, например <# и #>;
- добавьте в раздел Folds coder-файла строку:
Код: 1    0    0    0    "<#" "#>" ""
Автор: Skif_off
Дата сообщения: 21.08.2012 17:47
AkelPad 4.7.8, при открытии любого bat-файла друг за другом вылетают два сообщения с кнопкой "Ok":

Код: "BAT.CODER" содержит неизвестную переменную "${HighLight_BkImageFile}"
Автор: Andrey_A_A
Дата сообщения: 21.08.2012 17:50

Цитата:
В чем может быть проблема?


Этих ключей нет в темах

Эта ссылка должна быть правильная)
http://akelpad.sourceforge.net/forum/viewtopic.php?p=19222&sid=18bf52715d141aeae1287d6cd318efce#19222
Автор: Skif_off
Дата сообщения: 21.08.2012 17:55
Ага, уже нагуглил, сократив текст поискового запроса.
Тут подробнее.

Добавлено:
Andrey_A_A, по Ваше ссылке предлагается в т.ч. добавить переменные в файлы coder, но они там уже есть
На всякий случай: обсуждение в теме плагина отсюда и ниже.
Автор: iya_grisho
Дата сообщения: 21.08.2012 18:47
Понятно, от темы отклонились. Подожду, что скажет l_Instructor_l ( я не пользуюсь сборками AkelPad), Может он добавит набор этих кнопок в следующие версии программы.
Мне срочно не горит.
А спросил , думал что всё это легко реализовать без особых заморочек.
Автор: Andrey_A_A
Дата сообщения: 21.08.2012 18:54

Цитата:
т.ч. добавить переменные в файлы coder, но они там уже есть

там ещё и предлагается прописать ключ HighLight_BkImageFile в теме, по аналогии так же надо прописать и HighLight_BkImageAlpha
Автор: addhaloka
Дата сообщения: 21.08.2012 18:59
VSHY 18:14 21-08-2012
Цитата:
Лучше выкусить эти иконки из файла и положить во внутреннюю папку AkelPad'а, например в .../AkelPad/AkelFiles/Plugs/icons.

В DLL культурней, чем россыпью разбрасывать, имхо. Можно свою dll с нужными иконками собрать, также в ToolBar.dll можно иконки добавлять - до последнего времени я так и делал, собирая ее из исходников, но теперь решил ее не трогать, а все свои иконки в отдельную библиотеку вынес.
Тут вопрос возник, косвенно связанный со всем этим: если сделать свое меню "Справка" - как я понял, "родное" меню "Справка" отдельно не получится скрыть, т. е. придется полностью все оригинальное меню здесь прописывать? Или я чего-то не так делаю?
Автор: GoblinNN
Дата сообщения: 22.08.2012 02:38
VSHY 18:14 21-08-2012
Цитата:
dll 614kb ради 4-х иконок?
Лучше выкусить эти иконки из файла и положить во внутреннюю папку AkelPad'а, например в .../AkelPad/AkelFiles/Plugs/icons.
в чем проблема? взял да выкусил и выложил бы сам на вменяемый обменник. или только языком горазд чесать? и почему ради 4-ех? там их 955.
VSHY 18:14 21-08-2012
Цитата:
Постить код без указания имени автора некорректно. Тем более, что он выложен на открытом ресурсе автором. Лучше просто дать ссылку на оригинальный пост.
на какой оригинальный? я зашел на сайт автора, без регистрации ссылок не видно. да и хрен с ним. скачал из другого места. это одно. второе, по поводу корректности. уважаешь копирайт - не ходи по той ссылке. вот и все. я никого качать не заставляю.
Автор: Andrey_A_A
Дата сообщения: 22.08.2012 09:17
VSHY 18:14 21-08-2012
Цитата:
Лучше выкусить эти иконки из файла и положить во внутреннюю папку AkelPad'а, например в .../AkelPad/AkelFiles/Plugs/icons.

AkelPadImage.dll тоже имеет автора, если на то пошло...

Если ради этих 4-х вообще не имеет смысла - в любом редакторе иконок нарисовать 24 полоски


Цитата:
Эта ссылка не лучше. Некорректно выкладывать ссылки на закрытый ресурс (сообщение "Доступно только для пользователей"). Тем более, что скрипт чужой (не автора/хозяина ресурса, на который была ссылка).

Много текста - повторяю - в 50% скриптов нет ни ссылок ни толкового описания и тем более применения. Скрипт человеку может попасть в руки из разных источников и где ему бегать искать автора... Я дал что дал... не надо - не буду давать...
Автор: GoblinNN
Дата сообщения: 22.08.2012 09:58
Andrey_A_A 10:17 22-08-2012
Цитата:
Я дал что дал... не надо - не буду давать...
вот и я так же. проблемы тут развели...
Автор: VSHY
Дата сообщения: 22.08.2012 10:43
addhaloka
Мне иконки отдельно по душе. dll - всё-таки есть какой-то внутренний напряг на предмет вирусняков, я не доверяю dll, тем более, когда говорят, что там только иконки.. Вот если бы icl AkelPad'ом поддерживалось, то было бы здорово, т.к. icl - специальный контейнер для иконок.
Цитата:
Тут вопрос возник, косвенно связанный со всем этим: если сделать свое меню "Справка" - как я понял, "родное" меню "Справка" отдельно не получится скрыть, т. е. придется полностью все оригинальное меню здесь прописывать? Или я чего-то не так делаю?
Да, к сожалению пока только полной заменой.
Ну или так, как у меня в сборке - оставил стандартное меню "Справка", а слева от него добавил "Документация"; криво конечно, но не хотелось менять стандартное меню, т.к. при любом изменении проги придётся вручную перепроверять и править, а так только свои пункты корректируешь.

Andrey_A_A
Не заводись.
Я о том, что ты действительно дал ссылку в никуда. Ты скачивал архивы, которые выкладываются на ftp-ресурсе от AkelPad'а, эти же скрипты дублируются в теме Scripts collection, т.е. зайти на сайт и по поиску найти имя нужного скрипта дело пол-минуты. Тем более, повторю, что скрипт не твой. Если бы твой, тогда понятно, почему даёшь ссылку на свой сайт (хотя и в этом случае лучше давать ссылку на открытый источник), а так выглядит как самопиар.
Цитата:
AkelPadImage.dll тоже имеет автора, если на то пошло...
Иконки там тоже все авторские? Тогда снимаю шляпу.
В комментах к своей сборке я в кратце перечислил, но перечислю подробнее авторов идей, скриптов, иконок, которые использую.
P.S. Вообще удивлён, что приходится останавливаться на общеизвестных и само собой разумеющихся вещах...
Автор: Andrey_A_A
Дата сообщения: 22.08.2012 11:25

Цитата:
Мне иконки отдельно по душе. dll - всё-таки есть какой-то внутренний напряг на предмет вирусняков, я не доверяю dll


AkelPadImage.dll - это переименованная icl - некоторые программы не понимают icl, a dll нормально, поэтому вошло в привычку делать dll


Цитата:
Иконки там тоже все авторские?

70-80% - да, я сам рисую) - часть взято из плагинов к акелу и программ (те что не и имеет смысла перерисовывать)


Цитата:
Я о том, что ты действительно дал ссылку в никуда.

Ну извините, больше не буду)


Цитата:
В комментах к своей сборке я в кратце перечислил, но перечислю подробнее авторов идей, скриптов, иконок, которые использую.

Все лица принимавшие и принимающие участие в сборке тоже отмечены в справке F1
Спасибо!!!
Автор: VSHY
Дата сообщения: 22.08.2012 11:35
addhaloka
Цитата:
Вот если бы icl AkelPad'ом поддерживалось, то было бы здорово, т.к. icl - специальный контейнер для иконок.
Для интереса попробовал на библиотеке InfocatcherPensLibrary.icl:
Код: "Пометить оранжевым" Call("Coder::HighLight", 2, 0, "#FFA000", 0, 0, 12) Icon("%a\AkelFiles\Plugs\icons\PensLibrary.icl", 7)
Автор: addhaloka
Дата сообщения: 22.08.2012 13:39
VSHY 11:43 22-08-2012
Цитата:
dll - всё-таки есть какой-то внутренний напряг на предмет вирусняков, я не доверяю dll, тем более, когда говорят, что там только иконки..

Можно же свои dll собирать. [more]Самый минималистский набор для этого - rc.exe, rcdll.dll (компилятор ресурсов от MS) и ulink.exe (UniLink - линкер от Харона).
Все файло кладем в одну папку, например Ulink, в батнике для сборки вписываем путь к расположению этой папки. Пример батника:
Код: @echo off
set ULINK=D:\Ulink
set "PATH=%ULINK%;%PATH%"
rc /l 0x0 rsrc.rc
ulink -Tpd/r -ZX- -W4.00 -V4.00 -U0.00 -ZOAkelIcons.dll rsrc.res
del *.res
pause
Автор: SAI666
Дата сообщения: 22.08.2012 13:59
Интересно, для AkelPad есть плагин, чтобы txt сохранять в какой-нибудь сжатый формат?
Автор: VSHY
Дата сообщения: 22.08.2012 14:00
addhaloka
Цитата:
не все программы будут с ней работать. Например, Total Commander в Windows7/8/vista - не будет.
Интересно, зачем нам Total Commander, если иконки для AkelPad'а и лежат они в подпапках AkelPad'а? Или эту же dll используют в Тотале?
Добавлено:
Да, icl, оказывается устарел, а так всё хорошо начиналось...)

SAI666
Цитата:
Интересно, для AkelPad есть плагин, чтобы txt сохранять в какой-нибудь сжатый формат?
ZipCurrentFile.js от DV.
Автор: addhaloka
Дата сообщения: 22.08.2012 14:10
VSHY 15:00 22-08-2012
Цитата:
Интересно, зачем нам Total Commander, если иконки для AkelPad'а и лежат они в подпапках AkelPad'а? Или эту же dll используют в Тотале?

Смысл этого примера не Тотал, а то что в W7 icl могут уже не работать, с любой программой. Хотя в том же TC можно делать 32-битные icl, которые будут совместимы с Vista/W7 и выше.
Автор: SAI666
Дата сообщения: 22.08.2012 14:12
VSHY

Спасибо.
Автор: VSHY
Дата сообщения: 22.08.2012 14:34
addhaloka
Цитата:
в том же TC можно делать 32-битные icl, которые будут совместимы с Vista/W7 и выше.
Спасибо за инфу.
Автор: chq
Дата сообщения: 23.08.2012 09:36
При настройке панели инструментов (плагин ToolBar.dll) если я прописываю Menu("...") выпадающее меню кнопки, в контекстное меню тоже куча левых пунктов плагина добавляется. Как сделать так, чтобы в контекстное меню они не добавлялись, но при этом были доступны на панели инструментов в выпадающем меню?
Автор: gyra
Дата сообщения: 23.08.2012 11:19
chq
В меню ToolBar для кнопки "Имя кнопки" Menu("Имя меню"), а само выпадающее меню прописывается в Меню ContextMenu::Show ContextMenu-плагина:
"Имя меню"
{
пункты меню
}
Автор: chq
Дата сообщения: 23.08.2012 11:28
Значит его можно отключить? Можете подробнее тогда написать как это сделать, а я тем временем сам посмотрю и возможно помощь уже не понадобится. Хотя кажется я уже понял, Спасибо.
Автор: Kalbter
Дата сообщения: 29.08.2012 20:12
скажите ,а нет такого плагина который позволяет вставлять в текст горизонтальные и вертикальные линии?
Автор: Andrey_A_A
Дата сообщения: 30.08.2012 03:50

Цитата:
нет такого плагина который позволяет вставлять в текст горизонтальные и вертикальные линии?

Такого плагина я не встречал, чтобы вставить горизонтальную линию есть команда вставки

для горизонта
"'======" Insert("========================================")

для вертикали слева

"'=\n=\n=\n" Insert("=\n=\n=\n=\n=\n=\n=\n=\n=\n=", 1)

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124

Предыдущая тема: SurfControl E-mail Filter for Exchange 2000/3


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.