| View previous topic :: View next topic |
| Author |
Message |
VladSh
Joined: 29 Nov 2006 Posts: 2507 Location: Киев, Русь
|
Posted: Wed May 11, 2011 8:33 am Post subject: |
|
|
Хотелось бы дополнительный параметр в строку состояния, показывающий количество вхождений выделенного текста (возможно подсвеченного) в файле. Не знаю, возможно это слишком.. но было бы очень удобно.
Идея такова: выделяю текст и наглядно вижу (в виде количества вхождений), встречается он в тексте или нет. При рефакторинге кода, а это бывает чуть менее, чем постоянно , это было бы очень полезно. |
|
| Back to top |
|
 |
Fr0sT
Joined: 24 Jul 2007 Posts: 850
|
Posted: Fri May 13, 2011 10:36 am Post subject: |
|
|
| Quote: | | пока не узнал о "суррогатных" символах, которые в UTF-8 представляются 4 байтами |
Китайские иероглифы как раз 4 байта в UTF8 ) |
|
| Back to top |
|
 |
DrakonHaSh
Joined: 19 Mar 2011 Posts: 93
|
Posted: Fri May 13, 2011 11:50 am Post subject: |
|
|
| Fr0sT wrote: | | Quote: | | пока не узнал о "суррогатных" символах, которые в UTF-8 представляются 4 байтами |
Китайские иероглифы как раз 4 байта в UTF8 ) |
http://ru.wikipedia.org/wiki/UTF-8
=>
11110xxx 10xxxxxx 10xxxxxx 10xxxxxx - музыкальные символы, редкие китайские иероглифы, вымершие формы письменности
а так весь китайский в 3-х байтах. |
|
| Back to top |
|
 |
Andrey_A_A
Joined: 03 Jun 2010 Posts: 477 Location: Сочи, Хоста
|
Posted: Sun Jul 24, 2011 1:15 pm Post subject: |
|
|
| Возможно ли отображения размера файла в строке состояния? |
|
| Back to top |
|
 |
Instructor Site Admin
Joined: 06 Jul 2006 Posts: 4636
|
Posted: Sun Jul 24, 2011 5:05 pm Post subject: |
|
|
Andrey_A_A
Макет как можно изменить строчку в строке состояния:
StatusUserFormat.js | Code: | //// Change user statusbar string.
//Variables
var hMainWnd=AkelPad.GetMainWnd();
var hWndEdit=AkelPad.GetEditWnd();
var oSys=AkelPad.SystemFunction();
var hWndStatus;
var nParts;
var lpTextBuffer;
var pStatusText;
var nTextLength;
if (hWndStatus=oSys.Call("user32::GetDlgItem", hMainWnd, 10002 /*ID_STATUS*/))
{
if (oSys.Call("user32::IsWindowVisible", hWndStatus))
{
if ((nParts=AkelPad.SendMessage(hWndStatus, 1030 /*SB_GETPARTS*/, 0, 0)) > 5)
{
if (lpTextBuffer=AkelPad.MemAlloc(1024 * _TSIZE))
{
//Get user status string
AkelPad.SendMessage(hWndStatus, _TSTR?1037 /*SB_GETTEXTW*/:1026 /*SB_GETTEXTA*/, nParts - 1, lpTextBuffer);
pStatusText=AkelPad.MemRead(lpTextBuffer, _TSTR);
//Modify string
nTextLength=AkelPad.SendMessage(hWndEdit, 0xE /*WM_GETTEXTLENGTH*/, 0, 0);
pStatusText+=" Bytes:" + nTextLength;
//Set user status string
AkelPad.MemCopy(lpTextBuffer, pStatusText, _TSTR);
AkelPad.SendMessage(hWndStatus, _TSTR?1035 /*SB_SETTEXTW*/:1025 /*SB_SETTEXTA*/, nParts - 1, lpTextBuffer);
AkelPad.MemFree(lpTextBuffer);
}
}
}
}
|
|
|
| Back to top |
|
 |
VladSh
Joined: 29 Nov 2006 Posts: 2507 Location: Киев, Русь
|
Posted: Sun Jul 24, 2011 6:30 pm Post subject: |
|
|
Instructor
> StatusUserFormat.js
Здорово!
А можно ли это завернуть в скрипт-функцию, который положить в "Коллекцию скриптов"?
В функцию передавать:
- текст;
- булевый параметр "заменять или добавлять" (из агрументов).
Желательно назвать Print.js и функцию Print, чтобы меньше писать было.. Вот и удобный метод для отладки и вспомогательной информации для пользователя, не нуждающейся в выводе окна MsgBox'а!  |
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|