AkelPad Forum Index AkelPad
Support forum
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Строка состояния
Goto page Previous  1, 2
 
Post new topic   Reply to topic    AkelPad Forum Index -> Discussion (Russian)
View previous topic :: View next topic  
Author Message
VladSh



Joined: 29 Nov 2006
Posts: 2703
Location: Киев, Русь

PostPosted: Wed May 11, 2011 8:33 am    Post subject: Reply with quote

Хотелось бы дополнительный параметр в строку состояния, показывающий количество вхождений выделенного текста (возможно подсвеченного) в файле. Не знаю, возможно это слишком.. но было бы очень удобно.
Идея такова: выделяю текст и наглядно вижу (в виде количества вхождений), встречается он в тексте или нет. При рефакторинге кода, а это бывает чуть менее, чем постоянно Smile, это было бы очень полезно.
Back to top
View user's profile Send private message Visit poster's website
Fr0sT



Joined: 24 Jul 2007
Posts: 876

PostPosted: Fri May 13, 2011 10:36 am    Post subject: Reply with quote

Quote:
пока не узнал о "суррогатных" символах, которые в UTF-8 представляются 4 байтами

Китайские иероглифы как раз 4 байта в UTF8 )
Back to top
View user's profile Send private message
DrakonHaSh



Joined: 19 Mar 2011
Posts: 117

PostPosted: Fri May 13, 2011 11:50 am    Post subject: Reply with quote

Fr0sT wrote:
Quote:
пока не узнал о "суррогатных" символах, которые в UTF-8 представляются 4 байтами

Китайские иероглифы как раз 4 байта в UTF8 )

http://ru.wikipedia.org/wiki/UTF-8
=>
11110xxx 10xxxxxx 10xxxxxx 10xxxxxx - музыкальные символы, редкие китайские иероглифы, вымершие формы письменности
а так весь китайский в 3-х байтах.
Back to top
View user's profile Send private message
Andrey_A_A



Joined: 03 Jun 2010
Posts: 627
Location: Сочи, Хоста

PostPosted: Sun Jul 24, 2011 1:15 pm    Post subject: Reply with quote

Возможно ли отображения размера файла в строке состояния?
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Instructor
Site Admin


Joined: 06 Jul 2006
Posts: 5524

PostPosted: Sun Jul 24, 2011 5:05 pm    Post subject: Reply with quote

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
View user's profile Send private message Send e-mail
VladSh



Joined: 29 Nov 2006
Posts: 2703
Location: Киев, Русь

PostPosted: Sun Jul 24, 2011 6:30 pm    Post subject: Reply with quote

Instructor
> StatusUserFormat.js
Здорово!
А можно ли это завернуть в скрипт-функцию, который положить в "Коллекцию скриптов"?
В функцию передавать:
- текст;
- булевый параметр "заменять или добавлять" (из агрументов).
Желательно назвать Print.js и функцию Print, чтобы меньше писать было.. Вот и удобный метод для отладки и вспомогательной информации для пользователя, не нуждающейся в выводе окна MsgBox'а! Smile
Back to top
View user's profile Send private message Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic    AkelPad Forum Index -> Discussion (Russian) All times are GMT
Goto page Previous  1, 2
Page 2 of 2

 
Jump to:  
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


SourceForge.net Logo Powered by phpBB © 2001, 2005 phpBB Group