LPSTR partial=NULL;
partial=new char[(strlen(text)+3)*6+2];
partial[0]='\0';if(code128.Code128BEncode (text,partial)==-1)
{
MessageBox("编码错误");
}
print(partial,&dc);上面这段代码,是我传入一个text的值,Code128BEncode这个函数转成条形码,然后通过print打印出来,
这个都没有问题现在我想在转成条形码后,在条形码下把text的原始值也加上去
也就是像我们商品上的条形码,下面都有一行条形码实际值,该怎么加上去?
partial=new char[(strlen(text)+3)*6+2];
partial[0]='\0';if(code128.Code128BEncode (text,partial)==-1)
{
MessageBox("编码错误");
}
print(partial,&dc);上面这段代码,是我传入一个text的值,Code128BEncode这个函数转成条形码,然后通过print打印出来,
这个都没有问题现在我想在转成条形码后,在条形码下把text的原始值也加上去
也就是像我们商品上的条形码,下面都有一行条形码实际值,该怎么加上去?
http://download.csdn.net/source/158999
下下来看看是否有用……
另外好像有个专门的条形码库
{
unsigned i;
int code,checksum=0;
char *str=text;
if(!partial)
{
return -1;
}
//首字符为START_B(HEAD)
strcat(partial,code128set[START_B]);
//首字符也要加到校验和中去
checksum+=START_B; //如果字符串为空,则返回
if(!str)
{
delete partial;
return -1;
} for(i=0;i<strlen(str);i++)
{
if ( str[i] < 32 || (str[i] & 0x80))
{
//如为非法字符,则返回
free(partial);
return -1;
}
code = str[i]-32;
strcat(partial, code128set[code]);
//校验和为:first * 1 + second * 2 + third * 3...
checksum += code * (i+1);
} //最终校验和为除以103所得的余数
checksum%=103;
//将校验和加入partial
strcat(partial,code128set[checksum]);
//加入STOP结尾字符
strcat(partial,code128set[STOP]); return 0;
}