Scripts discussion (1)
- Author
- Message
-
Offline
- Posts: 1873
- Joined: Mon Aug 06, 2007 1:07 pm
- Contact:
-
Offline
- Posts: 2248
- Joined: Tue Aug 07, 2007 2:03 pm
- Location: Vinnitsa, Ukraine
KDJ
NextChar return next char always(ie works until EOF), NextCharInLine - if it riches end of line, it returns NULL (fails) ie works until EOL, so you can iterate in simple while loop
NextChar return next char always(ie works until EOF), NextCharInLine - if it riches end of line, it returns NULL (fails) ie works until EOL, so you can iterate in simple while loop
Code: Select all
while(SendMessage(edit,AEM_GETINDEX,AEGI_NEXTCHARINLINE, (LPARAM)&charindex)
{
// do stuff
}
-
Offline
- Posts: 1873
- Joined: Mon Aug 06, 2007 1:07 pm
- Contact:
converter-test.js
Added recoding to/from UTF-16* and UTF-32*.
Added warning for slow operations. Only fixed speeds now – seems like decodeURI* is non-linear.
crypt-test.js
Fixed showing/hiding of second password field.
Added -onlySelected argument.
Added built-in tests and -test argument.
getHash-test.js
Added recoding to UTF-16* and UTF-32*.
Added recoding to/from UTF-16* and UTF-32*.
Added warning for slow operations. Only fixed speeds now – seems like decodeURI* is non-linear.
crypt-test.js
Fixed showing/hiding of second password field.
Added -onlySelected argument.
Added built-in tests and -test argument.
getHash-test.js
Added recoding to UTF-16* and UTF-32*.
-
Offline
- Posts: 1949
- Joined: Sat Mar 06, 2010 7:40 pm
- Location: Poland
-
Offline
- Posts: 1873
- Joined: Mon Aug 06, 2007 1:07 pm
- Contact:
jsBeautifier.js
Improved tests: used warning or information icon, used results_raw() (without special <, >).
Improved tests: used warning or information icon, used results_raw() (without special <, >).
-
Offline
- Posts: 1949
- Joined: Sat Mar 06, 2010 7:40 pm
- Location: Poland
WordsMoveSelect.js
Changed: new script written completely from scratch.
Fixed: moving words at beginning and end of the line.
Added: moving up and down.
Changed: new script written completely from scratch.
Fixed: moving words at beginning and end of the line.
Added: moving up and down.
-
Offline
- Posts: 1873
- Joined: Mon Aug 06, 2007 1:07 pm
- Contact:
converter-test.js
Improved regular expression for string literals detection (for convert escape sequences).
Added Ctrl+A hotkey.
getHash-test.js
Added hotkeys:
Ctrl+Z - Undo
Ctrl+Shift+Z - Redo
Ctrl+C, Ctrl+Insert - Copy hash
Ctrl+V, Shift+Insert - Paste
Ctrl+A - Select all
Improved speed of CRC32 calculation.
toggleComments-experimental.js
Improved regular expression for string literals detection.
Improved regular expression for string literals detection (for convert escape sequences).
Added Ctrl+A hotkey.
getHash-test.js
Added hotkeys:
Ctrl+Z - Undo
Ctrl+Shift+Z - Redo
Ctrl+C, Ctrl+Insert - Copy hash
Ctrl+V, Shift+Insert - Paste
Ctrl+A - Select all
Improved speed of CRC32 calculation.
toggleComments-experimental.js
Improved regular expression for string literals detection.
-
Offline
- Posts: 120
- Joined: Sat Jan 12, 2008 10:16 am
- Location: Shantou, China
Infocatcher, measuresConverter.js have a wrong:
Code: Select all
"Gigawatt (GW)": 1e+6,
-
Offline
- Posts: 1873
- Joined: Mon Aug 06, 2007 1:07 pm
- Contact:
-
Offline
- Posts: 1873
- Joined: Mon Aug 06, 2007 1:07 pm
- Contact:
Очень странно.
Делаю диалог с WS_VISIBLE|WS_POPUP|WS_CAPTION|WS_SYSMENU|WS_MINIMIZEBOX|WS_THICKFRAME, как в SearchReplace.js. И получаю, что толщина рамки влияет на ширину окна – настраиваю на равные отступы в Win XP, а в Win 7 все едет.
Пока приделал бубен:
Но как-то сама необходимость каких-то вычислений очень подозрительна.
Делаю диалог с WS_VISIBLE|WS_POPUP|WS_CAPTION|WS_SYSMENU|WS_MINIMIZEBOX|WS_THICKFRAME, как в SearchReplace.js. И получаю, что толщина рамки влияет на ширину окна – настраиваю на равные отступы в Win XP, а в Win 7 все едет.
Пока приделал бубен:
Code: Select all
var rcWnd = getWindowRect(hMainWnd); // просто функция уже была, там user32::GetWindowRect
var lpRect = AkelPad.MemAlloc(16); //sizeof(RECT)
if(!lpRect)
return;
oSys.Call("user32::GetClientRect", hMainWnd, lpRect);
var rcCln = parseRect(lpRect);
AkelPad.MemFree(lpRect);
var thickFrameFixW = (rcWnd.right - rcWnd.left) - (rcCln.right - rcCln.left) - 12; // 0 in my Windows 7
var thickFrameFixH = (rcWnd.bottom - rcWnd.top) - (rcCln.bottom - rcCln.top) - 50; // 0 in my Windows 7
var dlgMinW = 422 + thickFrameFixW;
var dlgMinH = 386 + thickFrameFixH;
-
Offline
- Posts: 2248
- Joined: Tue Aug 07, 2007 2:03 pm
- Location: Vinnitsa, Ukraine
Infocatcher
1. GetClientRect всегда возвращает top = left = 0
2. Вы создаете окно или диалог? Диалогу при создании задаются логические размеры(кратные стандартному шрифту диалогов), а не физические пиксели.(Все остальные функции работают с физическими размерами). Я так подозреваю что работаете с окнами, тогда преобразовывать их нужно с помощью функции user32::MapDialogRect (которая в итоге сводится к тут уже используемому MulDiv, посмотрите в МСДН как)
3. Значит на сколько я понял, у Вас задача рассчитать размер окна так что-бы влезли все нужные элементы управления, и при это не съезжало при перестройке размеров в настройках винды? Значит Вам к функции user32::AdjustWindowRectEx , а не руцями считать.
(если я правильно понял суть проблемы)
1. GetClientRect всегда возвращает top = left = 0
2. Вы создаете окно или диалог? Диалогу при создании задаются логические размеры(кратные стандартному шрифту диалогов), а не физические пиксели.(Все остальные функции работают с физическими размерами). Я так подозреваю что работаете с окнами, тогда преобразовывать их нужно с помощью функции user32::MapDialogRect (которая в итоге сводится к тут уже используемому MulDiv, посмотрите в МСДН как)
3. Значит на сколько я понял, у Вас задача рассчитать размер окна так что-бы влезли все нужные элементы управления, и при это не съезжало при перестройке размеров в настройках винды? Значит Вам к функции user32::AdjustWindowRectEx , а не руцями считать.
(если я правильно понял суть проблемы)
-
Offline
- Posts: 1873
- Joined: Mon Aug 06, 2007 1:07 pm
- Contact:
jsBeautifier.js: updated
FeyFre
Суть проблемы в том, что контролы при установке других настроек оформления (высота заголовка, толщина рамки окна) не влезают (или наоборот) в окно.
Делаю аналогиз SearchReplace.js.
В любом случая я уже вижу там + sizeNonClient.cx и + sizeNonClient.cy, которых, кажется, не было, когда я в прошлый раз утаскивал масштабирование.
С SearchReplace.js при этом все нормально, так что вопрос пока снимается – будет заимствовать.
P.S. viewtopic.php?p=11642#p11642
Вот сразу бы признались, что нужна коррекция.
А то исправят по-тихому и молчат.
FeyFre
Суть проблемы в том, что контролы при установке других настроек оформления (высота заголовка, толщина рамки окна) не влезают (или наоборот) в окно.
Делаю аналог
Code: Select all
//Create dialog
hWndDialog=oSys.Call("user32::CreateWindowEx" + _TCHAR,
0, //dwExStyle
pClassName, //lpClassName
0, //lpWindowName
0x90CE0000, //WS_VISIBLE|WS_POPUP|WS_CAPTION|WS_SYSMENU|WS_MINIMIZEBOX|WS_THICKFRAME
ScaleX(0), //x
ScaleY(0), //y
ScaleX(392) + sizeNonClient.cx, //nWidth
ScaleY(200) + sizeNonClient.cy, //nHeight
hMainWnd, //hWndParent
0, //ID
hInstanceDLL, //hInstance
DialogCallback); //Script function callback. To use it class must be registered by WindowRegisterClass.
В любом случая я уже вижу там + sizeNonClient.cx и + sizeNonClient.cy, которых, кажется, не было, когда я в прошлый раз утаскивал масштабирование.
С SearchReplace.js при этом все нормально, так что вопрос пока снимается – будет заимствовать.
P.S. viewtopic.php?p=11642#p11642
Вот сразу бы признались, что нужна коррекция.

-
Offline
- Posts: 1873
- Joined: Mon Aug 06, 2007 1:07 pm
- Contact:
Ну вот, кажется, заработало. Теперь лучше не трогать. 
converter-test.js
Added hotkeys:
Ctrl+X, Shift+Del – Cut
Delete – Delete selection
Auto action marked with «*».
Added selection of first changed char in preview field.
Dialog window now resizable.
getHash-test.js
Added hotkeys:
Ctrl+X, Shift+Del – Cut
Delete - Delete selection
crypt-test.js
goToLongestLine-test.js
measuresConverter-test.js
runScript-test.js
All:
Small code improvements.
Window borders and title now correctly calculated.

converter-test.js
Added hotkeys:
Ctrl+X, Shift+Del – Cut
Delete – Delete selection
Auto action marked with «*».
Added selection of first changed char in preview field.
Dialog window now resizable.
getHash-test.js
Added hotkeys:
Ctrl+X, Shift+Del – Cut
Delete - Delete selection
crypt-test.js
goToLongestLine-test.js
measuresConverter-test.js
runScript-test.js
All:
Small code improvements.
Window borders and title now correctly calculated.
-
Offline
- Posts: 2248
- Joined: Tue Aug 07, 2007 2:03 pm
- Location: Vinnitsa, Ukraine
Вам сюда user32::AdjustWindowRectExСуть проблемы в том, что контролы при установке других настроек оформления (высота заголовка, толщина рамки окна) не влезают (или наоборот) в окно.

Но в любом случае стоит обрабатывать WM_SIZE.
-
Offline
- Posts: 1873
- Joined: Mon Aug 06, 2007 1:07 pm
- Contact:
Эк главную форума уронили. 
Увы, подходящих тем у меня в истории не нашлось.
Updated: jsBeautifier.js

Увы, подходящих тем у меня в истории не нашлось.

Updated: jsBeautifier.js