Scripts discussion (2)

Discuss and announce AkelPad plugins
Locked
  • Author
  • Message
KDJ
Offline
Posts: 1949
Joined: Sat Mar 06, 2010 7:40 pm
Location: Poland

Post by KDJ »

Temporarily, I solved the problem this way (WM_KEYUP):

Code: Select all

var oSys         = AkelPad.SystemFunction();
var hInstanceDLL = AkelPad.GetInstanceDll();
var sClassName   = "AkelPad::Scripts::" + WScript.ScriptName + "::" + hInstanceDLL;
var hWndDlg;
var hWnd1;

AkelPad.WindowRegisterClass(sClassName);
hWndDlg = oSys.Call("user32::CreateWindowEx" + _TCHAR,
                    0,                //dwExStyle
                    sClassName,       //lpClassName
                    "Test F5 and F6", //lpWindowName
                    0x90CA0000,       //WS_VISIBLE|WS_POPUP|WS_CAPTION|WS_SYSMENU|WS_MINIMIZEBOX
                    300,              //x
                    300,              //y
                    300,              //nWidth
                    150,              //nHeight
                    0,                //hWndParent
                    0,                //ID
                    hInstanceDLL,     //hInstance
                    DialogCallback);

AkelPad.ScriptNoMutex();
AkelPad.WindowGetMessage();
AkelPad.WindowUnregisterClass(sClassName);

function DialogCallback(hWnd, uMsg, wParam, lParam)
{
  if (uMsg == 1) //WM_CREATE
  {
    hWnd1 = oSys.Call("user32::CreateWindowEx" + _TCHAR,
                      0,            //dwExStyle
                      "STATIC",     //lpClassName
                      0,            //lpWindowName
                      0x50000000,   //dwStyle
                      50,           //x
                      50,           //y
                      180,          //nWidth
                      20,           //nHeight
                      hWnd,         //hWndParent
                      -1,           //ID
                      hInstanceDLL, //hInstance
                      0);           //lpParam
    oSys.Call("user32::SetWindowText" + _TCHAR, hWnd1, "Press F5 or F6");
  }

  else if (uMsg == 7 /*WM_SETFOCUS*/)
    oSys.Call("user32::SetFocus", hWnd1);

  else if (uMsg == 256 /*WM_KEYDOWN*/)
  {
    if (wParam == 0x74 /*VK_F5*/)
      AkelPad.MessageBox(hWnd, "F5 was pressed", "Test", 0);
    else if (wParam == 0x75 /*VK_F6*/)
      AkelPad.MessageBox(hWnd, "F6 was pressed", "Test", 0);
    else if (wParam == 27 /*VK_ESCAPE*/)
      oSys.Call("user32::PostMessage" + _TCHAR, hWnd, 16 /*WM_CLOSE*/, 0, 0);
  }

  else if (uMsg == 257 /*WM_KEYUP*/)
  {
    if (wParam == 0x75 /*VK_F6*/)
      AkelPad.MessageBox(hWnd, "F6 was released", "Test", 0);
  }

  else if (uMsg == 16) //WM_CLOSE
    oSys.Call("user32::DestroyWindow", hWnd);

  else if (uMsg == 2) //WM_DESTROY
    oSys.Call("user32::PostQuitMessage", 0);

  return 0;
}

Offline
Posts: 2248
Joined: Tue Aug 07, 2007 2:03 pm
Location: Vinnitsa, Ukraine

Post by FeyFre »

KDJ, it seems F6 was catch by global accelerators.

KDJ
Offline
Posts: 1949
Joined: Sat Mar 06, 2010 7:40 pm
Location: Poland

Post by KDJ »

FeyFre
Thank you for checking.
Does this mean, that there is no possibility to check pressing F6?

Offline
Site Admin
Posts: 6403
Joined: Thu Jul 06, 2006 7:20 am

Post by Instructor »

VladSh wrote:Хоть не первый раз задаю, но всё же.. (может что-то уже сдвинулось в этом плане). Подкажите, как программно определить, какая сейчас подсветка включена?
В новой версии Coder'а это будет возможно.

Offline
Posts: 3234
Joined: Wed Nov 29, 2006 1:19 pm
Location: Киев, Русь
Contact:

Post by VladSh »

Instructor
Похоже что-то грандиозное готовится :D
Случайно это (вычисление данных при просчёте кэша из нескольких файлов) не будет реализовано? Очень этого не хватает.


DV
Offline
Posts: 1291
Joined: Thu Nov 16, 2006 11:53 am
Location: Kyiv, Ukraine

Post by DV »

Infocatcher wrote:jsBeautifier.js
Начало файла битое какое-то:

Code: Select all

           - use "function ()" instead of "function()"
//   -spaceBeforeConditional=true - space before conditional: "if(x)" / "if (x)"
//   -indentScripts="keep"        - HTML <style>, <script> formatting: keep indent level of the tag
...

Offline
Posts: 1873
Joined: Mon Aug 06, 2007 1:07 pm
Contact:

Post by Infocatcher »

DV
Ой, точно. Криво залилось, надо полагать.
Перезалил.

Offline
Posts: 1873
Joined: Mon Aug 06, 2007 1:07 pm
Contact:

Post by Infocatcher »


Offline
Posts: 1873
Joined: Mon Aug 06, 2007 1:07 pm
Contact:

Post by Infocatcher »

measuresConverter.js
Fixed volume units (was be the same as square units...) :oops:
Added light-day/hour/minute/second.
Added yulian year.


viewtopic.php?p=16488#p16488
VladSh wrote:Хотел писать свой скрипт, но Ваш openFileIn.js можно было бы подшаманить..
Наконец-то добрался. :)
openFileIn-test.js
См. примеры:

Code: Select all

"<HKCU\\path\\from\\registry>app.exe",
"?x64?...\\app64.exe", - check only on x64 system
"?x86?...\\app32.exe"  - check only on x86 system

Offline
Posts: 2248
Joined: Tue Aug 07, 2007 2:03 pm
Location: Vinnitsa, Ukraine

Post by FeyFre »

Instructor, гляньте пожалуйста на последний history.js (v0.9): я попытался панельку припарковать вниз и сверху(нужно подменитьпару констант в коде), и получаю совсем не то что ожидал(а именно: ширина панельки всегда нулевая). Что я делаю не так, ил не делаю вообще?

KDJ
Offline
Posts: 1949
Joined: Sat Mar 06, 2010 7:40 pm
Location: Poland

Post by KDJ »

Updated translation into Chinese-Simplified:
Translator_Chinese-Simplified.lng

cnnnc, thanks for translating.

Offline
Posts: 3234
Joined: Wed Nov 29, 2006 1:19 pm
Location: Киев, Русь
Contact:

Post by VladSh »

Infocatcher wrote:openFileIn-test.js
Вроде работает, но я всё-таки не затачивался бы на конкретные пути, а сделал лучше первым получение пути из реестра.

Offline
Posts: 1873
Joined: Mon Aug 06, 2007 1:07 pm
Contact:

Post by Infocatcher »

VladSh
Ну, сам механизм получения работает.
А путей у меня нет – почти весь софт успешно работает без установки и мирно лежит с давних времен. :)
Специально же ставить, чтобы узнать, что появится в реестре, лень.

И первой лучше портативную версию из соседней папки тогда – если за чужой машиной надо будет поработать.

Offline
Site Admin
Posts: 6403
Joined: Thu Jul 06, 2006 7:20 am

Post by Instructor »

FeyFre wrote:...(а именно: ширина панельки всегда нулевая)...
Если имеется ввиду высота, то переменая _H не сохраняется и равна 0.
Locked