ZybinM Есть такой вариант: можно изменить размер окна редактирования, так чтобы его видимая часть включала только 80 символов и активируем перенос по словам. Затем вызываем Lines::FixWrap.
shadow_member Цитата: Как сделать, чтобы по Ctrl + D вставлялась только дата, без времени?
Изменить формат даты в панеле управления Windows. Если это неприемлемо, тогда можно воспользоваться Scripts плагином и скриптом InsertDate.js, назначив для него Ctrl+D.
Цитата: А при запуске пустого блокнота (т. е. при создании нового файла) в первую строку автоматом вставлялась текущая дата, и курсор перемещался в начало второй строки.
Есть такой вариант: [more=RunInsertDate.js]
Код: /// Run AkelPad and insert date
//
// Usage:
// WScript "c:\Program Files\AkelPad\AkelFiles\Plugs\Scripts\RunInsertDate.js" "c:\Program Files\AkelPad\AkelPad.exe"
var AkelPad=new ActiveXObject("AkelPad.document");
var WshShell=new ActiveXObject("WScript.shell");
var hMainWnd=AkelPad.GetMainWnd();
var oFunction=AkelPad.SystemFunction();
var pText;
var nWaitMax=1000;
var bInitRun;
if (!hMainWnd)
{
bInitRun=false;
WshShell.Run(WScript.Arguments(0), 1, false);
while (!(hMainWnd=AkelPad.GetMainWnd()))
{
oFunction.AddParameter(100);
oFunction.Call("kernel32::Sleep");
nWaitMax-=100;
if (nWaitMax <= 0)
{
//Show "AkelPad's window not found."
AkelPad.GetEditWnd();
break;
}
}
}
else
{
bInitRun=true;
if (oFunction.Call("user32::GetForegroundWindow") != hMainWnd)
{
oFunction.AddParameter(hMainWnd);
if (oFunction.Call("user32::IsIconic"))
{
oFunction.AddParameter(hMainWnd);
oFunction.AddParameter(9 /*SW_RESTORE*/);
oFunction.Call("user32::ShowWindow");
}
else
{
oFunction.AddParameter(hMainWnd);
oFunction.Call("user32::SetForegroundWindow");
}
}
}
if (hMainWnd)
{
pText=TimeFormat("dd.MM.yyyy\n");
if (bInitRun)
{
AkelPad.SendMessage(hMainWnd, 273 /*WM_COMMAND*/, 4101 /*IDM_FILE_NEW*/, 0);
}
AkelPad.SetSel(0, -1);
AkelPad.ReplaceSel(pText);
}
//Functions
function TimeFormat(pFormat)
{
var DT_ANSI =0
var DT_UNICODE =1
var DT_WORD =2
var DT_DWORD =3
var lpFormatBuffer;
var lpTimeBuffer;
var pTime="";
if (lpFormatBuffer=AkelPad.MemAlloc(256))
{
AkelPad.MemCopy(lpFormatBuffer, pFormat.substr(0, 255), DT_ANSI);
if (lpTimeBuffer=AkelPad.MemAlloc(256))
{
oFunction.AddParameter(1024); //LOCALE_USER_DEFAULT
oFunction.AddParameter(0);
oFunction.AddParameter(0);
oFunction.AddParameter(lpFormatBuffer);
oFunction.AddParameter(lpTimeBuffer);
oFunction.AddParameter(256);
oFunction.Call("kernel32::GetTimeFormatA");
oFunction.AddParameter(1024); //LOCALE_USER_DEFAULT
oFunction.AddParameter(0);
oFunction.AddParameter(0);
oFunction.AddParameter(lpTimeBuffer);
oFunction.AddParameter(lpFormatBuffer);
oFunction.AddParameter(256);
oFunction.Call("kernel32::GetDateFormatA");
pTime=AkelPad.MemRead(lpFormatBuffer, DT_ANSI);
AkelPad.MemFree(lpTimeBuffer);
}
AkelPad.MemFree(lpFormatBuffer);
}
return pTime;
}