PowerBuilder -- 条码打印
# 使用ocx控件
使用微软的MSBCODE9.OCX,但是注册老不成功,需要安装office之后才能注册成功,不知道有没有好的处理方法??
# 使用字体
字体下载:http://download.csdn.net/detail/easyboot/9452777
字符转换:代码来源 http://club.excelhome.net/thread-606919-1-1.html 此帖子的第8楼。条码打印后扫描不出来,需要使用此代码对条码数据进行转换,再使用转换后的数据来生成条码。
/*******************************************************************
函数名称:f_getcode128A()
参数: as_sourcetext string 源字符串
返回值: string 转成code128A码后可打印的字符串
功能描述:取code128码字符串
创建人: JF
创建日期:2009-3-11
版本号: V1.0
备注:要在PB中正常打印code128码字符串,必须使用PB10以上(支持Unicode码)
*******************************************************************/
//CODE128条码基础知识:
// CODE128有三个版本
// CODE128A: 标准数字和字母, 控制符, 特殊字符
// CODE128B: 标准数字和字母, 小写字母, 特殊字符
// CODE128C: [00]-[99]的数字对集合, 共100个 //本函数采用CODE128A版本
//条码由 开始位 + [FNC1(为EAN128码时加)] + 数据位 + 检验位 + 结束位 组成
//Code128A检验位计算:(开始位对应的ID值 + 每位数据在整个数据中的位置×每位数据对应的ID值)% 103 //计算过程:
//1.取各字符ASC码乘以字符序号之和(以ASC=32为分界点,大于32减32,小于32加64)
//2.计算校验码
//3.组合条码:开始位+数据位+校验位+停止位 int li_asc_total =
int li_asc_tmp,i
char lc_start=char()//采用CODE128A版本 ID >95 则ID+100
char lc_stop=char()
int li_check_digit
string ls_check_digit //1.取各字符ASC码乘以字符序号之和(以ASC=32为分界点,大于32减32,小于32加64)
For i = To len(as_sourcetext)
li_asc_tmp = Asc(mid(as_sourcetext,i, ))
If li_asc_tmp >= Then
li_asc_total = li_asc_total + (li_asc_tmp - ) * i
Else
li_asc_total = li_asc_total + (li_asc_tmp + ) * i
End If
Next //2.计算校验码
li_check_digit = mod(li_asc_total,) If li_check_digit >= Then//特殊字符
li_check_digit = li_check_digit +
Else
li_check_digit = li_check_digit +
end if
ls_check_digit = char(li_check_digit)
//3.组合条码:开始位+数据位+校验位+停止位
Return lc_start + as_sourcetext + ls_check_digit + lc_stop
PowerBuilder -- 条码打印的更多相关文章
- AX 条码打印
AX 条码打印集成在BarCode类及其之类barcode*. 由子类的defaultFont方法指定字体属性. eg, BarcodeCode39 指定条码字体"BC C39 3 to 1 ...
- BarTender SDK 实现调用模板条码打印
Demo:MyZebraPrint 基于BatTender .Net SDK 实现调用模板进行条码打印 有需要的朋友可以拿去研究下 在已经安装了BatTender10.1的电脑里测试通过. 下载地址: ...
- smartforms 条码打印
转自:http://blog.csdn.net/zhongguomao/article/details/6759642 SAP 条码打印有 新旧 两种技术方法:1.传统的(旧):将数据发送到打印机上, ...
- C#.Net集成Bartender条码打印,VS调试运行可以打印,发布到IIS运行打印报错
C#.Net集成Bartender条码打印,VS调试运行可以打印,发布到IIS运行打印报错 问题原因: 问题出现在iis账户权限. 解决方法: iis默认是用network service这个账户去执 ...
- RDLC系列之七 条码打印
参考: C# 条码标签打印程序,RDLC报表动态显示多条码标签的方法 http://www.cnblogs.com/vice/p/4105898.html 我做的思路是:不使用数据库存储image的b ...
- ABAP-smartform-一页3列的条码打印
1.自建barcode: se73->System bar code->change->create->new input the name of the bar code y ...
- WinForm条码打印
在这篇博客中,我曾经介绍了如何实现条形码的生成(生成jpg格式的图片),这篇博客借用上面生成的条码,能够实现条形码的打印功能. 出于批量打印操作的方便以及操作体验考虑,我选择了WinForm.功能很简 ...
- ZPL条码打印类
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.I ...
- BarTender出现条码打印位置不准的情况怎么办
在使用BarTender 2016设计打印条码标签,往往在打印时会遇到各种各样的问题,比如说:打印内容错位,内容发生偏移,与设置好的BarTender 2016条码标签的相对位置发生较为严重的偏差,这 ...
随机推荐
- Ncut matlab 代码bug 修复
先说平台: win7 x64,matlab 2012a x64,亲测运行. ncut 是个图像切割方法,以后再回顾具体算法吧,网上很多流程的是Jianbo Shi 这位2000年写的,名字应该是:Da ...
- linux程序运行浅析
例如有一个脚本文件tests.sh,内容如下: #!/bin/bash #This is a sample test. cd /tmp echo "Hello, this is a test ...
- why not ovp protection ?
HW MSM8917 PM8937 PMI8940 Question : Recently, I connect usb cable with 10V to the phone. Why does t ...
- AC日记——3的幂的和 51nod 1013
3的幂的和 思路: 矩阵快速幂: sn-1 3 1 sn * = 1 0 1 1 来,上代码: #include <cstdio> ...
- 牛客网 Wannafly挑战赛8 B.LBJX的三角形
B-LBJX的三角形 链接:https://www.nowcoder.com/acm/contest/57/B来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 32768K, ...
- 任意选若干个不相邻的数得到的和最大【dp】
非相邻数最大和 ///*任意选若干个不相邻的数得到的和最大*/ #include<cstdio> #include<cstring> #include<queue> ...
- bzoj1455&&luogu2713罗马游戏
罗马游戏 题目描述 罗马皇帝很喜欢玩杀人游戏. 他的军队里面有n个人,每个人都是一个独立的团.最近举行了一次平面几何测试,每个人都得到了一个分数. 皇帝很喜欢平面几何,他对那些得分很低的人嗤之以鼻. ...
- oracle中的替换函数replace和translate函数
.translate 语法:TRANSLATE(char, from, to) 用法:返回将出现在from中的每个字符替换为to中的相应字符以后的字符串. 若from比to字符串长,那么在from中比 ...
- Ubuntu 16.04下IntelliJ IDEA菜单显示乱码的问题解决
说明:这个问题一般是Ubuntu安装时默认使用了中文,而IDEA默认是以系统默认字体为主,所以就会出现乱码:要解决这种问题,就是在IDEA启动时强制设置为英文. 解决方式: 在idea.vmoptio ...
- IOS7开发~NSAttributedString
从 NSBundle 中读取rtf文本文件的内容,然后用UITextView展示: NSURL *url = [[NSBundle mainBundle] URLForResource:@" ...