AX 条码打印集成在BarCode类及其之类barcode*.

由子类的defaultFont方法指定字体属性。
eg, BarcodeCode39 指定条码字体"BC C39 3 to 1 HD Wide";
以code39为例。
Code 39只接受如下43个有效输入字符:
26个大写字母(A - Z),
十个数字(0 - 9),
连接号(-),句号(.),空格,美圆符号($),斜扛(/),加号(+)以及百分号(%)。
其余的输入将被忽略。
* 作为code39的起始和终结符。
编码规则:每五条线表示一个字符;粗线表示1,细线表示0;线条间的间隙宽的表示1,窄的表示0;
五条线加上它们之间的四条间隙就是九位二进制编码,而且这九位中必定有三位是1,所以称为39码;
条形码的首尾各一个 * 标识开始和结束。
所以在编码方法encodestring中,传过来的字符串需要预处理成全大写 string = strupr(string);
BarCodeString encodeString(BarCodeString _stringIn)
{
BarCodeString resultStr;
int len = strlen(_stringIn);
int x;
int idx;
if (len < 1)
return _stringIn;
// add the start character
resultStr = num2char(42); // * 开始
for (x = 1; x <= len; x++)
{
idx = char2num(_stringIn, x);
if (this.isValidChar(idx))
{
resultStr += (idx == 32) ? num2char(44) : substr(_stringIn, x, 1);
}
}
// add the stop code
resultStr += num2char(42); //* 结束
return resultStr;
}
eg: 以生产单号:“8105137709” 通过Code39转码显示返回字符串“*8105137709*"
同事要将显示生产单的字符串控件字体改为 ”BC C39 3 to 1 HD Wide"字体。(这个字体也可以从Tablearcodesetup读取。)