Можно ли по-своему показать non-prinatable символ?
Posted: Mon Apr 08, 2013 9:47 am
by lopotun74
Есть файл, в котором в качестве разделителя используется SOH символ (hex код 0001). Сейчас этот символ показывается как пробел, т.е. как пустое место.
Можно ли заменить презентацию такого символа? Желательно, на перевод стоки. Хотелось бы именно изменить то как он виден на экране, не делая "Replace All" (потому как нужно просматривать очень много таких файлов и закрывать их без сохранения).
Спасибо. Идея понятна: надо создать свой фонт, в котором символ с кодом 1 представлен в виде перевода строки. Пошёл искать как это делается.
Posted: Tue Apr 09, 2013 7:24 am
by lopotun74
Не так-то это просто оказалось. Я могу изменить внешний вид символа, но не его значение. То есть, а не могу сделать в моём фонте, чтобы, например, символ "М" превращался в перевод строки.
А есть ли в AP что-то вроде фильтра, через который проходит файл при его открытии? В таком фильтре можно было бы сделать все нужные замены.
Posted: Wed Apr 10, 2013 4:44 pm
by Instructor
lopotun74
После открытия файла можно применять, например, такой скрипт:
var hMainWnd=AkelPad.GetMainWnd();
if (!AkelPad.GetEditModified(0))
{
AkelPad.TextReplace(0, "\x01", "\n", 0x200001 /*FRF_DOWN|FRF_BEGINNING*/, true);
if (!AkelPad.GetEditReadOnly(0)) AkelPad.Command(4216 /*IDM_VIEW_READONLY*/);
AkelPad.SendMessage(hMainWnd, 1229 /*AKD_SETMODIFY*/, 0, false);
}
Можно это автоматизировать, если просматриваемые файлы имеют определенные имена или расширение, то в скрипт дописать проверку на имя/расширение, а сам вызов скрипта прописать в AkelPad.ini
- Scripts-Rus.txt - описание методов Scripts плагина.
- AkelDLL.h - описание сообщений, структур, команд, констант программы.
- AkelEdit.h - описание сообщений, структур, констант для работы с окном редактирования напрямую.
lopotun74 wrote:А можно вообще привязать скрипт и к закрытию файла?.
Скрипт необходимо сделать резидентным. Можно взять за основу - AutoScript-Sample2.js.