2014-10-16 74 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之間的數據被忽略。