![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Этикеточный принтер [D7, XP]
Slay64 © (2010-08-16 15:50:00)Всем привет! Подскажите, как правильно послать набор управляющих символов (печать ярлыков со штрихкодом) на этикеточный принтер.
Использую пример из хелпа с процедурой AssignPrn на этикетке печатается текст набора моих команд.
мой исходник:
var
MyFile: TextFile;
begin
AssignPrn(MyFile);
Rewrite(MyFile);
Writeln(MyFile,PChar('^XA^FO100,100^BY3^BCN,100,Y,N,N^FD123456^FS^XZ'));
System.CloseFile(MyFile);
Petr V. Abramov (2010-08-16 18:36:00) [1]
> Сергей М. © (16.08.10 16:56) [11]
марка-модель принтера не озвучены, поэтому расскажу как у меня.
печатать данные в графическом представлении умеет, но со скоростью какого-нить трехкопеечного епсона. А через команды умеет работать так: один раззагружает шаблон со всей графикой и прочими "константными" текстами. В шаблоне могут быть переменные, примерно как в sql-запросе. потом значения переменных только в путь передавай принтеру (ессно, его спецкомандами) и будет печатать так, что будешь не успевать ленту на руку наматывать.
шаблоны делаются просто: есть штатная программа, с интерфейсом типа qreport, по нажатию на волшебную кнопку генерит по нарисованному принтерный скрипт, который потом используй по своему усмотрению, что видимо, и пытается вседать автор.
Slay64 (2010-08-16 16:57:00) [2]Ладно, всем спасибо - завтра разберусь, а сейчас домой пора...
Сергей М. (2010-08-16 16:56:00) [3]Не верю что более-менее приличный современный лейбл-принтер не умеет принимать, обрабатывать и печатать данные в графическом представлении.
Slay64 (2010-08-16 16:55:00) [4]
> MBo © (16.08.10 16:52) [9]
>
> Какой интерфейс у принтера?
LPT
MBo (2010-08-16 16:52:00) [5]Какой интерфейс у принтера?
Я к тому, что для послед. порта (RS-232), например, с помощью PortMon можно перехватить вывод от штатной программы, и понять, как в действительности формируются команды.
Slay64 (2010-08-16 16:26:00) [6]
> Вполне вероятно, что подстроки с крыжиками ^ - на самом
> деле непечатные управляющие символы с кодами меньше 32 (^B
> = Char(2) = #2).
> В таком случае их нужно вынести из кавычек
> ^X'A'^F'O100' и т.д.
управляющая команда как раз и состоит например из ^XA - это начало формата этикетки...
если убрать в кавычки один символ из команды он печатает его как текст...
MBo (2010-08-16 16:23:00) [7]Пардон, [4] пост не видел.
MBo (2010-08-16 16:18:00) [8]Вполне вероятно, что подстроки с крыжиками ^ - на самом деле непечатные управляющие символы с кодами меньше 32 (^B = Char(2) = #2).
В таком случае их нужно вынести из кавычек
^X'A'^F'O100' и т.д.
Сергей М. (2010-08-16 16:12:00) [9]
> Slay64 © (16.08.10 16:04) [3]
> мне необходимо формировать программно свои этикетки, так
> как информация на этикетках у каждой будет отличаться по
> некоторым параметрам
Ну и формируй себе их на здоровье программно, никто же не возражает ..
Но зачем для этого лезть в дебри упр.секвенций ?
На то есть виз.дизайнеры/генераторы отчетов, начиная со встроенных в Делфи QuickReport и RaveReport ..
Юрий Зотов (2010-08-16 16:09:00) [10]Попробуйте так:
Writeln(MyFile,
^X'A'^F'O100,100'^B'Y3'^B'CN,100,Y,N,N'^F'D123456'^F'S'^X'Z');
Slay64 (2010-08-16 16:04:00) [11]
> Сергей М. © (16.08.10 15:55) [1]
>
> Довольно странно что для доступу к ф-циям лейбл-принтера
> понадобилось лезть в дебри упр.симв.секвенций.
> Разве разработчик принтера не предоставляет штаный драйвер,
> позволяющий прикладному ПО общаться с лейбл-принтером подобно
> любому иному принтеру ?
Программы есть к принтерам, только все дело в том, что мне необходимо формировать программно свои этикетки, так как информация на этикетках у каждой будет отличаться по некоторым параметрам.
12 (2010-08-16 16:03:00) [12]
> Сергей М. © (16.08.10 15:55) [1]
они насмерть кривые, дрова эти
ZBZ2B, например, - пока пол инета не выкачал, толком не нашел..
думается, автор не верно коды прочитал/понял
Сергей М. (2010-08-16 15:55:00) [13]Довольно странно что для доступу к ф-циям лейбл-принтера понадобилось лезть в дебри упр.симв.секвенций.
Разве разработчик принтера не предоставляет штаный драйвер, позволяющий прикладному ПО общаться с лейбл-принтером подобно любому иному принтеру ?