zoukankan      html  css  js  c++  java
  • 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 = 103
    int li_asc_tmp,i
    char lc_start=char(203)//采用CODE128A版本 ID >95 则ID+100
    char lc_stop=char(206)
    int li_check_digit
    string ls_check_digit
    
    
    //1.取各字符ASC码乘以字符序号之和(以ASC=32为分界点,大于32减32,小于32加64)
    For i = 1 To len(as_sourcetext)
             li_asc_tmp = Asc(mid(as_sourcetext,i, 1))
             If li_asc_tmp >= 32 Then
                      li_asc_total = li_asc_total + (li_asc_tmp - 32) * i
             Else
                      li_asc_total = li_asc_total + (li_asc_tmp + 64) * i
             End If
    Next
    
    //2.计算校验码
    li_check_digit = mod(li_asc_total,103)
    
    If li_check_digit >= 95 Then//特殊字符
            li_check_digit = li_check_digit + 100
    Else
             li_check_digit = li_check_digit + 32
    end if
    ls_check_digit = char(li_check_digit)
    //3.组合条码:开始位+数据位+校验位+停止位
    Return lc_start + as_sourcetext + ls_check_digit  + lc_stop
  • 相关阅读:
    Ubuntu下配置PHP和CakePHP记录
    VMware Workstation “以独占方式锁定此配置文件失败。可能其它正在运行VMware进程在使用此配置文件”
    c语言结构体链表
    Linux下VNC配置使用总结:开启+桌面配置+安全访问
    git服务器使用
    MYSQL外键(Foreign Key)的使用
    MySQL 安装与使用(三)
    Percona XtraBackup的部分备份与恢复/单库备份/单表备份/指定库备份/指定表备份
    Percona XtraBackup 核心文档
    mysql 半同步复制 插件安装以及测试
  • 原文地址:https://www.cnblogs.com/yarightok/p/6895356.html
Copyright © 2011-2022 走看看