[ОТВЕТИТЬ]
Опции темы
28.07.2012 13:55  
KirillHome
Ну что же - разобрался.
Проблема, как это часто бывает, оказалась в голове :)

Я инициализировал строку
Код:
TEXT 330,78,"ARIALR.TTF",180,6,6,
Но забыл передать в неё значение (хотя бы пустое)

Переделал на
Код:
TEXT 330,78,"ARIALR.TTF",180,6,6,""
и всё побежало! :viannen_08:
 
"Спасибо" KirillHome от:
30.06.2014 22:09  
BrandSelect
Через Бкртендер можно подключиться к разным базам данным - ваш формат в студию.

Принцип простой: при формировании тескта тип данных указывается - внешний источних и настраивается путь к БД. Но умеет это лишь Проф версия - платная. (можно скачать - потестить если что).

Если же писать своб этиктку, то зачем мучиться с командным языком... не понимаю.

Принтеры Proton - это же те TSC. Просто наклейка на принтерах TSC. "Торговая марка".

А у TSC есть удобный инструмент, если делаете свою программу на каком либо высокоуровневом языке.

Просто подключается к нему DLL и используете из неё процедуры и функции, не маясь с изучением и прелестями командного языка.

Вот, например, простейшая этикетка:
setup('58','40','4.0','13','0','3','0'); //параметры этикетки
nobackfeed;
clearbuffer();
windowsfont(16,10, 48, 0, 2, 0, 'arial', 'Тест '); //используем любой шрифт винды - ничего грузить не надо. Задаём координаты теста и его параметры
windowsfont(16,48, 48, 0, 2, 0, 'arial', 'Принтер TTP-244');
barcode('64','100','EAN13','80','1','0','2','4','460851324568'); // печатаем штрих-код с нужными нам параметрами
printlabel('3','1'); //количество копий

Соответственно, данные для печати можно сделать переменными и печатать нужные данные из баз банных

Кому интересно - пишите, перекину инфу интересующую
 
11.11.2014 14:18  
ilia81
BrandSelect подскажите пожалуйста каким образом нужно указать переменные
чтобы принтер их воспринял
 
11.11.2014 16:58  
akonev
не видит он твой вопрос. у него последняя активность 08.07.2014

расскажи лучше, что именно делаешь и что именно не получается
 
12.11.2014 10:07  
ilia81
я в этом деле ученик, делаю этикетку на принтер этикеток TSC
через sql создал некий запрос с вытаскиванием переменных
и пытаюсь вставить в этикетку при распечатывании
этикетку сформировал вот так
SIZE 4,1
GAP 0,0
A=@MATERIAL_NAME
B=@BARCODE
DIRECTION 1
CLS
TEXT 10,10,"2",0,1,1,@MATERIAL_NAME
BARCODE 10,50,"128", 100,1,0,2,2,@BARCODE
PRINT 1
при таком раскладе этикетка печатается только как вставлено
без подстановок нужных мне.
 
12.11.2014 10:14  
akonev
Цитата:
Сообщение от ilia81
TEXT 10,10,"2",0,1,1,@MATERIAL_NAME
То есть ты хочешь, чтобы в этом месте печаталось наименование, а вместо него видишь текст "@MATERIAL_NAME". правильно я понял?
 
12.11.2014 10:47  
ilia81
Да правильно
вместо переменной я вижу тупо текст
 
12.11.2014 10:54  
akonev
Отлично. Теперь надо разобраться, откуда печатаешь.

Суть в том, что подмена переменных данными - забота программного обеспечения.
Принтер тупо печатает то, что упало к нему в порт. Замена переменных реальными данными должна случиться раньше.

Например, если я использую ПО Супермаг и в этикетке есть поле %Name=30, то это забота Супермага:
-прочитать этикетку
-найти в ней это поле
-заменить %Name=30 на часть наименования не длиннее 30 знаков
-то, что получилось - отправить в порт принтера

именно в документации Супермага указано, какие поля он умеет искать и какие данные он вместо них подставит.

из какого ПО печатаешь ты?
 
12.11.2014 11:07  
ilia81
печатаю я из php
то есть в php подставляю что нужно и жму печать
далее формируется запрос в sql и должны выбраться переменные по данным из php
lля печати этикетки и далее распечатывание этикетки
 
12.11.2014 11:47  
akonev
значит ты у себя в коде должен отпарсить файл формата этикетки, вместо переменных воткнуть данные и уже то, что получилось, отправить в порт принтера.

либо для начала ничего не парсить вовсе, а тупо зашить команды принтера в код и в нужные места вставлять данные из SQL-запроса.
такой подход хорош, чтобы быстро на коленке протестировать работу с принтером. дальше всё равно надо переходить на использование шаблонов, чтобы не зависеть от модели принтера.

скормить принтеру отдельно формат и отдельно результаты запроса, как набор переменных, не получится для подавляющего большинства моделей.
тебе надо формировать отдельный готовый набор команд печати этикетки для каждой строки, которую возвращает тебе SQL-запрос.
 
"Спасибо" akonev от:
 


Опции темы



Часовой пояс GMT +3, время: 15:16.

Все в прочитанное - Календарь - RSS - - Карта - Вверх 👫 Яндекс.Метрика
Форум сделан на основе vBulletin®
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd. Перевод: zCarot и OlegON
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.