Page 1 of 1
Отображение всяких DOSовских спецсимволов
Posted: Tue Oct 19, 2010 7:01 am
by clumba
Всем привет.
Вот тут можно посмотреть вариант файла, с которым испытываю трудности:
http://rghost.ru/2969497
Выглядит это так:
Можно ли как-то поправить отображение спецсимволов или прятать их? Больше всего хлопот вызывает то, что они так и отправляются на печать, что не есть правильно.
Posted: Tue Oct 19, 2010 8:04 am
by FeyFre
clumba
Там стоят ESC-символы. Не знаю откуда вы текст копировали, но скопировалось оно с форматированием(которое и задается ESC-символы, например в ANSI-совместимых терминалах/принтерах). Просто пубирайте их.
Posted: Tue Oct 19, 2010 10:08 am
by clumba
Файл формируется через ДОСовскую программу.
Убирать их вручную неудобно хотя бы потому, что файлов таких на печать приходится много, в т.ч. файлы на справок этак сотню - там везде вычищать символы? Через тот же FAR можно напечатать документ без проблем - никаких символов не будет. Но было бы удобнее работать через акелпад

Posted: Tue Oct 19, 2010 11:16 am
by FeyFre
clumba, почему сразу вручную? Поиск-Замена. Либо скриптом. Можно и автоматизировать.
А вообще если честно, ройтесь в программе которая их создавала, и пусть создает как Вам надо а не как надо кому-то там ещё.
Posted: Tue Oct 19, 2010 11:44 am
by Instructor
Примерный скрипт для данного случая для отправки на печать:
Code: Select all
var hWndEdit=AkelPad.GetEditWnd();
var oSys=AkelPad.SystemFunction();
var pText;
SetRedraw(hWndEdit, false);
AkelPad.SetSel(0, -1);
pText=AkelPad.GetSelText();
pText=pText.replace(/\u001B\u0040|\u001B\u004D\u0012|\u001B\u0020\u0000|\u001B-1|\u001B-0|\u001B\u0047|\u001B\u0048/g, "");
AkelPad.ReplaceSel(pText);
SetRedraw(hWndEdit, true);
AkelPad.Command(4108 /*IDM_FILE_PRINT*/);
AkelPad.Command(4151 /*IDM_EDIT_UNDO*/);
function SetRedraw(hWnd, bRedraw)
{
AkelPad.SendMessage(hWnd, 11 /*WM_SETREDRAW*/, bRedraw, 0);
if (bRedraw) oSys.Call("user32::InvalidateRect", hWnd, 0, true);
}
Posted: Wed Oct 20, 2010 10:29 am
by Fr0sT
Причём можно пакетно прошерстить кучу файлов из батника путём запуска Акеля с командой "выполнить скрипт"
Posted: Wed Oct 20, 2010 4:17 pm
by opk44
clumba wrote:Файл формируется через ДОСовскую программу.
В данном случае присоединяюсь к мнению FeyFre. Нужно внимательно поисследовать подкаталоги программы. Скорее всего в одном из них обнаружится "шаблон" (*.frm или еще как) на основе которого формируются такие справки. Проще и быстрее отредактировать 1 шаблон и забыть о проблеме, чем исправлять сотни файлов в день (хотябы и с помощью скрипта).
Фразы "Расчет произвел", "Размер ЕДК" скорее всего являются частями шаблона. Дайте FAR-у поискать все файлы с одной из этих фраз.
Posted: Thu Oct 21, 2010 11:06 am
by Fr0sT
Во времена доса отделение шаблонов от программы еще не вошло в моду, так что шансы довольно маленькие... но попробовать все равно стоит.