HexSel plugin

Discuss and announce AkelPad plugins
  • Author
  • Message
Offline
Posts: 176
Joined: Sat Dec 24, 2011 4:05 pm

Post by F. Phoenix »

Andrey_A_A, не особо понял, что ты пытаешься сделать, но стоит думать, флаги 265 и 266 друг другу обратны. А если префиксы не добавляются при конвертации текста в хекс, то можно их регулярками добавить. Типа:

Code: Select all

str = str.replace(/([\dA-F]{2})/g, "&#$1;");
Вот я кстати вчера набросал читалку хекс-значений для ini-файлов Акела, может поможет чем:

Code: Select all

var hWndEdit = AkelPad.GetEditWnd();

if (hWndEdit)
{
	var pCode = AkelPad.GetSelText();
	pCode = pCode.replace(/([\dA-F]{2})([\dA-F]{2})/g, "$2$1"); // UTF-16BE → UTF-16LE
	var pText = HexString(pCode, 10);
	WScript.Echo(pText);
}

function HexString(pInput, nFlags)
{
	var pOutput = "";
	var lpOutput, lpOutputLen, lpOutputPtr;
	if (pInput && (lpOutput = AkelPad.MemAlloc(_X64?8:4 /*sizeof(wchar_t *)*/)))
	{
		AkelPad.Call("HexSel::Main", 1, nFlags, "", "", pInput, pInput.length, 0, lpOutput);
		lpOutputPtr = AkelPad.MemRead(lpOutput, 2 /*DT_QWORD*/);
		pOutput = AkelPad.MemRead(lpOutputPtr, 1 /*DT_UNICODE*/);
		AkelPad.MemFree(lpOutputPtr);
		AkelPad.MemFree(lpOutput);
	}
	return pOutput;
}

Offline
Posts: 670
Joined: Thu Jun 03, 2010 8:47 am
Location: Сочи, Хоста
Contact:

Post by Andrey_A_A »

не особо понял, что ты пытаешься сделать
Я беру символ и перевожу его в десятиричную систему

Code: Select all

Call("HexSel::Main", 1, 264")
264=256+8
для вставки в html
хочу обратно из десятиричной, чтобы превратился в символ

Offline
Posts: 176
Joined: Sat Dec 24, 2011 4:05 pm

Post by F. Phoenix »

Там флаги 1 и 2 указывают направление преобразования, а автодекту я как-то не особо доверяю.

Offline
Posts: 670
Joined: Thu Jun 03, 2010 8:47 am
Location: Сочи, Хоста
Contact:

Post by Andrey_A_A »

Там флаги 1 и 2 указывают направление преобразования, а автодекту я как-то не особо доверяю.
это понятно - 265 и 266 не взаимны
264 и 265 - работают
к примеру переводят
знак в 182 а обратно 266 не хочет (

Offline
Posts: 176
Joined: Sat Dec 24, 2011 4:05 pm

Post by F. Phoenix »

Значит, видимо, так не умеет - он вообще пока как-то сильно ограничен, на вход мало опций работает.
=> Надо дописать код преобразования десятичной в хексы, как я вон преобразовывал юникод BE в LE.

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

Post by Instructor »

Andrey_A_A wrote:Спасибо, подскажите обратное действие этому

Code: Select all

-"Символ - -> HTML" Call("HexSel::Main", 1, 264, "&#", ";")
Вообще-то эта команда как кодирует, так и раскодирует :)
...знак ¶ в 182 а обратно 266 не хочет (
Не подтверждаю.

Offline
Posts: 670
Joined: Thu Jun 03, 2010 8:47 am
Location: Сочи, Хоста
Contact:

Post by Andrey_A_A »

Вообще-то эта команда как кодирует, так и раскодирует
или я что-то не понял или...
1. Выделяю символ ¶
2. нажимаю Call("HexSel::Main", 1, 264")
3. Выходит 182
4. Выделяю 182
5. нажимаю Call("HexSel::Main", 1, 264")
6. Выходит 495650
а мне нужно получить обратно символ ¶
Не подтверждаю.
у меня команда
Call("HexSel::Main", 1, 266)
вообще ничего не делает, чтобы я не выделял

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

Post by Instructor »

Andrey_A_A
Причем здесь?

Code: Select all

Call("HexSel::Main", 1, 264")
В вопросе и в ответе значится

Code: Select all

Call("HexSel::Main", 1, 264, "&#", ";")
у меня команда
Call("HexSel::Main", 1, 266)
вообще ничего не делает, чтобы я не выделял
Десятеричное/восьмеричное конвертирование Код->Символ без префиксов не будет работать. Ибо как плагин будет определять, где код заканчивается, а где начинается?

Offline
Posts: 670
Joined: Thu Jun 03, 2010 8:47 am
Location: Сочи, Хоста
Contact:

Post by Andrey_A_A »

В вопросе и в ответе значится
Блин, затупил - всё просто оказывается, извиняюсь за Stupid-последовательности :D
всё работает

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

Post by KDJ »

Instructor
In HexSel-Eng.txt I found Russian word (line 42):
INPUTCODEPAGE (для Win9x/Me)

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

Post by Instructor »

KDJ
Corrected.

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

Post by Instructor »

Изменено: уменьшено мелькание плавающего окна для версии AkelPad 4.9.2 и выше.

Changed: reduce dockable window flickering for AkelPad 4.9.2 and higher.


HexSel plugin v6.7

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

Post by Instructor »

Изменено: убрано мелькание окна редактирования диалога при изменении размеров диалога.

Changed: removed flickering of the edit window in dialog when changing dialog size.


HexSel plugin v6.9

Offline
Posts: 269
Joined: Mon Jun 20, 2011 8:33 am
Location: Электросталь

Post by yozhic »

Instructor
Image
Было в две строки, стало в одну. Так и задумано? Раньше, вроде, удобней было :(

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

Post by Instructor »

Исправлено: некорректный стиль окна редактирования в версии 6.9.

Fixed: incorrect edit window style in version 6.9.


HexSel plugin v7.0
Post Reply