2014-10-16 73 views
3

我要评论的ZPL代码行,例如:注释行

^XA 
^MMT 
^LL0531 
^PW1280 
^LS0 
^FT81,528^A0B,29,28^FH\^FDTEXT^FS    
// ^FT336,495^A0B,29,33^FH\^FDEAN^FS^FX   ---- 
//^BY3,2,42^FT384,492^BEB,,Y,N     Commented lines 
//^FD789690466123^FS       ---- 
^PQ1,0,1,Y^XZ 

我想这是因为有时我的变量为空,不希望打印的条形码。 这可能吗?或者什么是不打印条形码的最佳方式?

+0

有没有理由不能有条件跳过发送^ BE命令? – banno 2014-10-16 15:20:59

回答

0

一种方法是不发送与您不想打印的字段相关的命令行。对于您提供的示例,只需消除(不发送)以//开头的三行。

0

我在代码中将行建立为字符串变量并将我的注释放入并置 - 然后将整个字符串发送给打印机,注释将保留在后面。

 
StringBuilder sb = New Stringbuilder(""); 
sb.append("^XA"); 
sb.appendLine("^MMT"); 
sb.appendLine("^LL0531"); 
// sb.append("this line will be commented out"); 
// sb.append("this line will be commented out"); 
// sb.append("this line will be commented out"); 
sb.appendLine("^PQD,0,1,Y^XZ"); 

string s = sb.toString(); 

就是这样的。您可以使用'if-else'语句而不是注释来确定它是否保留在字符串中。

2

简短的回答是“无法完成”。

注释指示器是^FX之后的字符将被忽略 - 结束的评论是any^or ~ command这使得^FX旁边没用。

除非已经添加了“block-comment”命令,并且使用特定的开始/结束块注释助记符集,那么对不起 - 你是不走运的。

全不是相当不过失去了。

^XA 
^FT336,495^A0B,29,33^FH\^FDEAN^FS^FX 
^BY3,2,42^FT384,492^BEB,,Y,N 
^FD789690466123^FS 
^MMT 
^LL0531 
^PW1280 
^LS0 
^FT81,528^A0B,29,28^FH\^FDTEXT^FS    
^PQ1,0,1,Y^XZ 

将识别待评论的行。

^FT336,495^A0B,29,33^FH\^FDEAN^FS^FX 
^BY3,2,42^FT384,492^BEB,,Y,N 
^FD789690466123^FS 
^XA 
^MMT 
^LL0531 
^PW1280 
^LS0 
^FT81,528^A0B,29,28^FH\^FDTEXT^FS    
^PQ1,0,1,Y^XZ 

会忽略它们,因为^XZ^XA之间的数据被忽略。