Gradex 2023-04-07 17:20 采纳率: 0%
浏览 40

ZPL指令^DQ生成二维码,使用^FN指令获取到的数据打印,总是缺少实际数据的前三位

最近编写ZPL指令^BQ生成二维码,使用^FN指令获取到的数据打印,总是缺少实际数据的前三位,求高人指点!
具体代码如下:

^XA
^FX  添加此行以识别后面的变量FN1(FN1通过扫码枪获取)
^DFR:ZT610.ZPL^FS
^FX  设置打印浓度和标签宽度
^MD10^PW2000
^FX  使用BQ输出FN1的二维码
^FO120,10^BQN,2,7^FN1^FS
^FX  使用BQ输出FN1的文字
^FT125,210^A0N,55,55^FN1^FS
^XZ

^XA
^FX  回调模板
^XFR:ZT610.ZPL^FS
^FX  输出
^FN1^FS
^XZ

这是生成的二维码和文字样例,扫描二维码只有 56 两位

img

  • 写回答

2条回答 默认 最新

  • 自在猫先生 2023-04-07 17:56
    关注

    源于ChatGPT

    根据您提供的代码,可以看出在第二个标签中使用了^XFR指令回调了模板,而这个模板中又使用了^FS指令输出变量^FN1。然而,这种使用方法可能会导致问题,因为在回调模板时,^FS指令的作用范围可能会发生改变,导致变量^FN1的值不正确。
    为了避免这种问题,建议将变量值先存储在缓存区中,再在模板中使用缓存区中的值。具体做法如下:
    ^XA
    ^FX  添加此行以识别后面的变量FN1(FN1通过扫码枪获取)
    ^DFR:ZT610.ZPL^FS
    ^FX  设置打印浓度和标签宽度
    ^MD10^PW2000
    ^FX  使用BQ输出FN1的二维码
    ^FO120,10^BQN,2,7^FN1^FS
    ^FX  使用BQ输出FN1的文字
    ^FT125,210^A0N,55,55^FN1^FS
    ^XZ
     
    ^XA
    ^FX  存储变量FN1到缓存区
    ^XA
    ^FN1^FS
    ^XZ
     
    ^XA
    ^FX  回调模板
    ^XG:MYTEMPLATE^FS
    ^FX  输出
    ^FN1^FS
    ^XZ
    在上述代码中,我们将变量^FN1的值存储在了缓存区中,以便在模板中使用。具体步骤如下:
    
    
    在第一个标签中,将变量^FN1的值打印出来并以^FS指令结束,这样就将该值存储在了缓存区中。
    
    在回调模板时,使用^XG指令调用模板,并在输出变量^FN1的位置使用^FN指令引用缓存区中的值,而非直接使用^FN1^FS指令输出变量值。
    这样做的好处是,缓存区中存储的变量值不会受到^FS指令作用范围的影响,确保了变量值的正确性。
    
    
    评论

报告相同问题?

问题事件

  • 修改了问题 4月10日
  • 创建了问题 4月7日

悬赏问题

  • ¥15 python的qt5界面
  • ¥15 无线电能传输系统MATLAB仿真问题
  • ¥50 如何用脚本实现输入法的热键设置
  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀
  • ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100