Модераторы: volvo877, Snowy, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> EPSON & TALLY ESC characters, нужна подсказка 
:(
    Опции темы
contramundum
Дата 4.2.2009, 10:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 40
Регистрация: 20.11.2007
Где: Санкт-Петербург

Репутация: нет
Всего: нет



Здравствуйте!
У нас на работе есть древняя прога, написанная мифическим существом в доисторические времена на Турбо Паскале smile 
Вобщем, эта прога формирует по шаблону файлик, который отправляется на печать простым копированием в порт матричного принтера.
Так вот, шаблон сделан на ESC-последовательностях EPSON-а, а нада переделать его для TALLY (MTPL).
Итак, вопросы:
1. Возможно ли сделать так, всего-лишь немного подправив код или придется перелопачивать всю прогу?
2. Как определить ESC-последовательность EPSON-а в коде (MTPL, на сколько я понял из документации, имеет такой вид: "$$c", где "с" - сам код)?

На всякий случай дам кусок програмки:
Код

sp1:=chr(18)+chr(27)+'P'+chr(15)+chr(13);
sp3:=chr(13)+chr(18)+chr(27)+'P'+chr(15);
sp2:=chr(18)+chr(27)+'M';

{}
            getdate(y,mo,d,dw);
            str(mo,mo1);
            if mo<10 then mo1:='0'+mo1;
            str(d,d1);
            if d<10 then d1:='0'+d1;
            str(y,y1);

            dt:=d1+'.'+mo1+'.'+y1;


{}

clrscr;
ii:=0;
kk:=0;
su:=0;
summ:=0;

gettime(h,mm,s,s1);
gotoxy(1,1);writeln(' Время == ',h,':',mm,':',s,'.',s1);



assign(f,'.\txt\plat.txt');rewrite(f);
{writeln(f,#15);writeln(f,#27,#48);}

nn:=0;
assign(f1,'.\txt\pl_n.txt');rewrite(f1);
assign(f3,'.\txt\ne.txt');rewrite(f3);
assign(t,'.\txt\svr.txt');rewrite(t);
getdate(y,mo,d,dw);
{}
writeln(f3,'  ');
writeln(f3,' ОТЧЕТ ПО ПЛАТЕЖАМ НЕРЕЗИДЕНТОВ ЗА ',d,'-',mo,'-',y);
writeln(f3,'+--------------------------------------------------------+');


{}

writeln(f1,'  ');
writeln(f1,' ОТЧЕТ ПО НЕНАПЕЧАТАНЫМ ПЛАТЕЖАМ ЗА ',d,'-',mo,'-',y);
writeln(f1,'+--------------------------------------------------------+');


{
writeln(f,#27,#38,#107,'9',#72);
writeln(f,#27,#38,#108,'7',#67);
writeln(f,#27,'@',#27,'g',#27,'2',#27,'C','H');
}
        j:=0;

        New( M , Init('.\in\rezalt.dbf'));
        z1:=1;
    With M^ do Begin
            z:=reccount;
        1:

                  getdbrec(z1);



          for i:=1 to 29 do begin

b:=deleted;


П. С.: буду очень благодарен за ссылки на русскую документацию по этим двум принтерным языкам smile 


...извиняюсь, подправил код  smile 

Это сообщение отредактировал(а) volvo877 - 5.2.2009, 15:39
PM MAIL   Вверх
ФедосеевПавел
Дата 7.2.2009, 02:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 291
Регистрация: 7.2.2009

Репутация: 2
Всего: 10



Привет, contramundum

Документацию на управляющие коды Tally можешь скачать на сайте разработчика.
http://ru.tallygenicom.com/support

На Epson - к сожалению не знаю, т.к. сам использовал фирменные мануалы к принтерам Epson, ЕС и СМ, и сейчас их под рукой нет. Можешь поискать их в учебниках по программированию времён динозавров - Джордейне...

У меня сохранилась пара модулей на паскале с описанием команд Epson. Но в них почему-то я не включил однобайтные управляющие символы (#18 и другие).

А может вместо программирования новых команд просто перевести принтер в режим эмуляции Epson?
Только как будет печататься из под Windows - вопрос, но можно поэкспериментировать.


А отвечая на вопросы
1) не знаю - действительно, где здесь сам вывод на печать
2) вот примеры Epson Esc/P в теле программы
Код

sp1:=chr(18)+chr(27)+'P'+chr(15)+chr(13);
{18 - кажется, "включить принтер", 
  Esc 'P' #15 - плотность печати 10 cpi - символов на дюйм,
  13 - перевод строки}
sp3:=chr(13)+chr(18)+chr(27)+'P'+chr(15);
sp2:=chr(18)+chr(27)+'M';
.................
{
writeln(f,#27,#38,#107,'9',#72);
writeln(f,#27,#38,#108,'7',#67);
writeln(f,#27,'@',#27,'g',#27,'2',#27,'C','H');
}
 

Это сообщение отредактировал(а) volvo877 - 7.2.2009, 04:02

Присоединённый файл ( Кол-во скачиваний: 9 )
Присоединённый файл  Esc_P.zip 9,43 Kb
PM   Вверх
contramundum
Дата 9.2.2009, 11:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 40
Регистрация: 20.11.2007
Где: Санкт-Петербург

Репутация: нет
Всего: нет



ФедосеевПавел, ОГРОМНОЕ СПАСИБО ЗА ОТВЕТ!!
Я извиняюсь за мою неосведомленность в первом посте. Вопрос, на самом деле, был в том: может-ли использование MTPL в шаблоне документа увеличить скорость печати? Теперь я знаю, что - нет (ну, может если только совсем чуть-чуть smile ).
Вобщем, буду ваять шаблон на MTPL в каком-нить "блокноте"  smile 

П. С.: а может существуют програмки,  которые автоматом переводят шаблон в какую-нить ESC-последовательность?))))

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi"
THandle
Rrader
volvo877

Запрещается!

1. Обсуждать и делится взломанными компонентами или программным обеспечением

2. Публиковать ссылки на варез

3. Оффтопить

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, THandle, Rrader, volvo877.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Object Pascal: кроссплатформенные технологии | Следующая тема »


 




[ Время генерации скрипта: 0.0447 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.