| View previous topic :: View next topic |
| Author |
Message |
clumba
Joined: 19 Oct 2010 Posts: 2
|
Posted: Tue Oct 19, 2010 7:01 am Post subject: Отображение всяких DOSовских спецсимволов |
|
|
Всем привет.
Вот тут можно посмотреть вариант файла, с которым испытываю трудности:
http://rghost.ru/2969497
Выглядит это так:
Можно ли как-то поправить отображение спецсимволов или прятать их? Больше всего хлопот вызывает то, что они так и отправляются на печать, что не есть правильно. |
|
| Back to top |
|
 |
FeyFre
Joined: 07 Aug 2007 Posts: 1893 Location: Vinnitsa, Ukraine
|
Posted: Tue Oct 19, 2010 8:04 am Post subject: |
|
|
clumba
Там стоят ESC-символы. Не знаю откуда вы текст копировали, но скопировалось оно с форматированием(которое и задается ESC-символы, например в ANSI-совместимых терминалах/принтерах). Просто пубирайте их. |
|
| Back to top |
|
 |
clumba
Joined: 19 Oct 2010 Posts: 2
|
Posted: Tue Oct 19, 2010 10:08 am Post subject: |
|
|
Файл формируется через ДОСовскую программу.
Убирать их вручную неудобно хотя бы потому, что файлов таких на печать приходится много, в т.ч. файлы на справок этак сотню - там везде вычищать символы? Через тот же FAR можно напечатать документ без проблем - никаких символов не будет. Но было бы удобнее работать через акелпад  |
|
| Back to top |
|
 |
FeyFre
Joined: 07 Aug 2007 Posts: 1893 Location: Vinnitsa, Ukraine
|
Posted: Tue Oct 19, 2010 11:16 am Post subject: |
|
|
clumba, почему сразу вручную? Поиск-Замена. Либо скриптом. Можно и автоматизировать.
А вообще если честно, ройтесь в программе которая их создавала, и пусть создает как Вам надо а не как надо кому-то там ещё. |
|
| Back to top |
|
 |
Instructor Site Admin
Joined: 06 Jul 2006 Posts: 4650
|
Posted: Tue Oct 19, 2010 11:44 am Post subject: |
|
|
Примерный скрипт для данного случая для отправки на печать:
| Code: | 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);
}
|
|
|
| Back to top |
|
 |
Fr0sT
Joined: 24 Jul 2007 Posts: 850
|
Posted: Wed Oct 20, 2010 10:29 am Post subject: |
|
|
| Причём можно пакетно прошерстить кучу файлов из батника путём запуска Акеля с командой "выполнить скрипт" |
|
| Back to top |
|
 |
opk44
Joined: 16 Jan 2010 Posts: 190
|
Posted: Wed Oct 20, 2010 4:17 pm Post subject: |
|
|
| clumba wrote: | Файл формируется через ДОСовскую программу.
|
В данном случае присоединяюсь к мнению FeyFre. Нужно внимательно поисследовать подкаталоги программы. Скорее всего в одном из них обнаружится "шаблон" (*.frm или еще как) на основе которого формируются такие справки. Проще и быстрее отредактировать 1 шаблон и забыть о проблеме, чем исправлять сотни файлов в день (хотябы и с помощью скрипта).
Фразы "Расчет произвел", "Размер ЕДК" скорее всего являются частями шаблона. Дайте FAR-у поискать все файлы с одной из этих фраз. |
|
| Back to top |
|
 |
Fr0sT
Joined: 24 Jul 2007 Posts: 850
|
Posted: Thu Oct 21, 2010 11:06 am Post subject: |
|
|
| Во времена доса отделение шаблонов от программы еще не вошло в моду, так что шансы довольно маленькие... но попробовать все равно стоит. |
|
| Back to top |
|
 |
|