[Yustas.NeO] wrote:Не-не-не, я имею ввиду: если в выделени находится несколько строк текста (тоесть в выделении находится символ переноса строки.), то нужно получить ПОЛНОЕ выделение этих строк текста. А если тройным кликом, то выделится только текущая строка текста.
Вот теперь ясно.
[Yustas.NeO] wrote:Будем подождать
Так уже пару лет ждём... ))
[Yustas.NeO] wrote:Жаль только что скролл текста прыгает...
Для этого перед выполнением операций с окном редактирования надо отключать прорисовку, а после - включать: функции AutoRedrawOff и AutoRedrawOn в SelCompleteLine.js.
P.S. Мы точно всё это по второму кругу в этой теме проговариваем, только первый раз я был спрашивающий
VladSh wrote:Для этого перед выполнением операций с окном редактирования надо отключать прорисовку, а после - включать: функции AutoRedrawOff и AutoRedrawOn в SelCompleteLine.js.
Осталось только понять, как эти функции подключить
VladSh wrote:P.S. Мы точно всё это по второму кругу в этой теме проговариваем, только первый раз я был спрашивающий
[Yustas.NeO] wrote:Осталось только понять, как эти функции подключить
Это я разбил функции на 2, а изначально у Instructor'а была одна SetRedraw, а у Infocatcher'а такая же toggleRedraw с дополнительным параметром.
Пример использования можно глянуть, например, в UndoAllNoScroll.js.
Instructor
Только что глянул на SearchReplace.js, так там это имеет следующий вид:
Instructor
Работая с InternetRequest.js столкнулся с неприятной особенностью... WshShell.Exec обрезает содержимое. Из всего, выделенного мной текста, в браузер, передаётся только 86 символов, из них 74 кирилических и 10 пробелов.
Есть ли какой-нибудь другой способ передать длинный URL в браузер?
Примечание: если юзать этот же скрипт из браузера, то всё работает корректно - передаётся весь выделенный текст.
Last edited by VladSh on Mon Jan 31, 2011 9:49 am, edited 1 time in total.
var pSelText = /*encodeURI*/(AkelPad.GetSelText());
if (pSelText != "")
{
var pLink = WScript.Arguments(0).replace("\\s", pSelText);
var WshShell = new ActiveXObject("WScript.Shell");
WshShell.Run('\"' + pLink + '\"');
}
Если преобразовывать в URI, то количество знаков уменьшится втрое.
[Yustas.NeO] wrote: если в выделени находится несколько строк текста (тоесть в выделении находится символ переноса строки.), то нужно получить ПОЛНОЕ выделение этих строк текста. А если тройным кликом, то выделится только текущая строка текста.
делаем тройной клик на первой строке и, не отпуская кнопку, двигаем курсор мыши вниз — выделяется несколько строк
Many scripts changes the contents of the document, although its status is read-only.
For example: InsertDate.js, InsertFile.js, LinesFilter.js, SearchReplace.js and other placed on the forum.
Maybe should be used to verify:
/// Insert time and date in specified format
//
// Time:
// h Hours with no leading zero for single-digit hours; 12-hour clock.
// hh Hours with leading zero for single-digit hours; 12-hour clock.
// H Hours with no leading zero for single-digit hours; 24-hour clock.
// HH Hours with leading zero for single-digit hours; 24-hour clock.
// m Minutes with no leading zero for single-digit minutes.
// mm Minutes with leading zero for single-digit minutes.
// s Seconds with no leading zero for single-digit seconds.
// ss Seconds with leading zero for single-digit seconds.
// t One character time-marker string, such as A or P.
// tt Multicharacter time-marker string, such as AM or PM.
//
// Date:
// d Day of month as digits with no leading zero for single-digit days.
// dd Day of month as digits with leading zero for single-digit days.
// ddd Day of week as a three-letter abbreviation.
// dddd Day of week as its full name.
// M Month as digits with no leading zero for single-digit months.
// MM Month as digits with leading zero for single-digit months.
// MMM Month as a three-letter abbreviation.
// MMMM Month as its full name.
// y Year as last two digits, but with no leading zero for years less than 10.
// yy Year as last two digits, but with leading zero for years less than 10.
// yyyy Year represented by full four digits.
//
// Example:
// "H:mm:ss dd MMMM yyyy" -> "12:50:24 07 January 2008"
//Options
var pFormat="H:mm dd.MM.yyyy";
if (WScript.Arguments.length)
pFormat=WScript.Arguments(0);
//Variables
var hMainWnd=AkelPad.GetMainWnd();
var oSys=AkelPad.SystemFunction();
var pTime;
if (AkelPad.GetEditReadOnly(0)==false)
{
if (hMainWnd)
{
pTime=TimeFormat(pFormat);
AkelPad.ReplaceSel(pTime);
}
}
//Functions
function TimeFormat(pFormat)
{
var lpFormatBuffer;
var lpTimeBuffer;
var pTime="";
if (lpFormatBuffer=AkelPad.MemAlloc(256 * _TSIZE))
{
AkelPad.MemCopy(lpFormatBuffer, pFormat.substr(0, 255), _TSTR);
if (lpTimeBuffer=AkelPad.MemAlloc(256 * _TSIZE))
{
oSys.Call("kernel32::GetTimeFormat" + _TCHAR, 1024 /*LOCALE_USER_DEFAULT*/, 0, 0, lpFormatBuffer, lpTimeBuffer);
oSys.Call("kernel32::GetDateFormat" + _TCHAR, 1024 /*LOCALE_USER_DEFAULT*/, 0, 0, lpTimeBuffer, lpFormatBuffer, 256);
pTime=AkelPad.MemRead(lpFormatBuffer, _TSTR);
AkelPad.MemFree(lpTimeBuffer);
}
AkelPad.MemFree(lpFormatBuffer);
}
return pTime;
}
Last edited by KDJ on Mon Jul 05, 2010 3:32 pm, edited 1 time in total.
cnnnc wrote:But the best way is by Akelpad to judge read-only or not.
Agreed.
AkelPad itself should ignore the launch scripts, perhaps only a few methods of the object.
There was still a good idea to make an additional parameter in the ContextMenu, Toolbar, Hotkeys, allowing command freezing the corresponding item.
For example:
VladSh wrote:There was still a good idea to make an additional parameter in the ContextMenu, Toolbar, Hotkeys, allowing command freezing the corresponding item.