2014-08-29 3 views
1

Я программирую в ZPL, и мне нужно определить переменную вручную. Простой Hello World Пример:Как вручную определить переменную в языке программирования Zebra? (ZPL)

^XA 
^FO,20,10^ADN,40,25^FDHello World^FS 
^XZ 

Я хочу быть в состоянии:

SET $HW$ = Hello World 
^XA 
^FO,20,10^ADN,40,25^FD$HW$^FS 
^XZ 

Я прочитал документацию Zebra и это говорит только о его использовании в ZebraDesigner Pro, но я должен определить его с кодом, а не с графическим режимом. И переменные как $CODEDATA$, SVERSION$ здесь не работают автоматически. Затем, как я могу определить переменную в ZPL?

+0

Ну, я решил это путем разработки компилятора, который поддерживает зависимые типы и компиляции для ZPL: https://github.com/capybara-language –

ответ

0

Вот способ сделать то, что вы ищете. Сохраните формат с переменной.^FN11 - это переменная int eh сохраненного формата. Я храню формат на внутренней флэш-памяти (E :) Я назвал хранимая формате STORE.ZPL

^XA 
^DFE:STORE.ZPL^FS 
^FO,20,10^ADN,40,25^FH\^FN11^^FS 
^XZ 

Я тогда вспомнить формат и установить переменную

^XA 
^XFE:STORE.ZPL^FS 
^FN11Hello World^FS 
^XZ 
1

ZPL не является языком программирования, это язык принтера.
Как я знаю, ZPL не поддерживает переменные. Ваша программа должна сделать это, построив правильный код ZPL.

Создание программы, которая выполняет простую замену фиксированной строки внутри текста, должно сделать трюк очень простым почти на каждом языке программирования.

Это то, что делает студия дизайна. Он заменит переменную фактической строкой и отправит ее на принтер.

Так просто сделать что-то вроде:
Шаблон:

template="^XA 
    ^FO,20,10^ADN,40,25^FD$HW$^FS 
    ^XZ" 

, а затем установить содержание:

printercommand = template.replace("$HW$", "Hello World") 
+0

ZPL определяется официальной документацией как языком программирования и любым официальным документом. Язык программирования не обязательно должен быть полным, чтобы быть PL. ;) –

+0

Я использую исключительно ZPL. Я создал IDE для разработки в нем, и я хочу, чтобы он был доступен в Github, но я просто искал способ сделать это в чистом коде ZPL, без Java, C#, Scheme, Clojure и производных. Это я не могу. –

Смежные вопросы