没有合适的资源?快使用搜索试试~ 我知道了~
首页vb编程:理解并应用CODE93编码函数
vb编程:理解并应用CODE93编码函数
需积分: 10 10 下载量 82 浏览量
更新于2024-09-12
收藏 6KB TXT 举报
在VB编程中,遇到关于"printer1"部分的问题时,似乎是在理解一个名为Get_93Encoding的自定义函数。这个函数的主要作用是将输入的字符(CharAsString)转换为CODE93编码,这是一种早期的条形码编码方式,用于在打印文档中添加额外的信息。函数通过一系列条件判断(Select Case语句)来处理不同类型的字符: 1. 如果字符是"START",索引值被设置为48,代表编码的开始。 2. 对于"STOP"字符,索引值为49',可能表示编码的结束或者特定的终止符号。 3. 如果输入的是其他字符(不在上述两个预设值内),函数会查找一个包含数字、字母和特殊字符的字符串(Text),然后通过InStr函数找到字符在该字符串中的位置,从而确定其在CODE93编码中的位置。 函数内部使用了一个Choose语句,根据Index值返回相应的CODE93编码,这些编码由10位二进制字符串组成,对应不同的字符位置。例如,如果Index为10,可能的编码为"100010100"等。 Get_93Encoding函数适用于需要将文本转换为CODE93条形码的场景,这在旧版的文档管理和自动化打印过程中可能会用到。然而,如果在代码中提到的"printer1"与这个函数关联,可能是指在打印输出中应用这段编码,或者在打印前准备数据。如果"printer1"未定义,可能是程序中缺少对打印机对象的初始化或者调用,导致函数无法正常工作。建议检查是否存在打印设备的引用、连接以及调用Get_93Encoding的上下文,确保正确执行和调用。
资源详情
资源推荐
93条形码
'根据字符获取93二进制字编码符串
Private Function Get_93Encoding(ByVal Char As String) As String
Dim Text As String
Dim Index As Integer
Select Case Char
Case "START": Index = 48 '开始符
Case "STOP": Index = 49 '结束符
Case Else
Text = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. $/+%~!@#" '用~代码SHIFT1,!代表SHIFT2,@代表SHIFT3,#代表SHIFT4
Index = InStr(Text, UCase(Char))
End Select
If Index > 0 Then
Get_93Encoding = Choose(Index, "100010100", "101001000", "101000100", "101000010", "100101000", "100100100", _
"100100010", "101010000", "100010010", "100001010", "110101000", "110100100", _
"110100010", "110010100", "110010010", "110001010", "101101000", "101100100", _
"101100010", "100110100", "100011010", "101011000", "101001100", "101000110", _
"100101100", "100010110", "110110100", "110110010", "110101100", "110100110", _
"110010110", "110011010", "101101100", "101100110", "100110110", "100111010", _
"100101110", "111010100", "111010010", "111001010", "101101110", "101110110", _
"110101110", "100100110", "111011010", "111010110", "100110010", "101011110", _
"1010111101")
End If
End Function
'获取检查表中的字符值
Private Function Get_93Value(ByVal Char As String) As Integer
Dim Text As String
Dim Index As Integer
Select Case Char
Case "START": Index = 48
Case "STOP": Index = 49
Case Else
Text = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. $/+%~!@#" '用~代码SHIFT1,!代表SHIFT2,@代表SHIFT3,#代表SHIFT4
Index = InStr(Text, UCase(Char))
End Select
Get_93Value = Choose(Index, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, _
23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48)
End Function
'获取检查表中的字符
Private Function Get_93Char(ByVal Value As Integer) As String
Get_93Char = Choose(Value + 1, "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", _
"E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", _
"S", "T", "U", "V", "W", "X", "Y", "Z", "-", ".", " ", "$", "/", "+", _
"%", "~", "!", "@", "#", "START", "STOP") ' '用~代码SHIFT1,!代表SHIFT2,@代表SHIFT3,#代表SHIFT4
End Function
'获检查码"C"和"K"的值
'检验码的计算方法:
'a.先检查出资料对应的码值
'b.检查码C从资料的最右边一位开始,用1-20的顺序排列,若超过20位,则从头开始
'c.检查码K从资料的C位开始,用1-15的顺序排列,若超过15位则从头开始.
'如计算“CODE 93”:
'1*3+2*9+3*38+4*14+5*13+6*24+7*12=484 C=484÷47于14 则C=14=E(对应值) K的值的计算同C
Private Function Get_93Checksum_CK_Char(ByVal Data As String) As String
Dim i As Integer
Dim Index As Integer
Select Case Char
Case "START": Index = 48
Case "STOP": Index = 49
Case Else
Text = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. $/+%~!@#" '用~代码SHIFT1,!代表SHIFT2,@代表SHIFT3,#代表SHIFT4
Index = InStr(Text, UCase(Char))
End Select
Get_93Value = Choose(Index, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, _
23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48)
End Function
'获取检查表中的字符
Private Function Get_93Char(ByVal Value As Integer) As String
Get_93Char = Choose(Value + 1, "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", _
"E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", _
"S", "T", "U", "V", "W", "X", "Y", "Z", "-", ".", " ", "$", "/", "+", _
"%", "~", "!", "@", "#", "START", "STOP") ' '用~代码SHIFT1,!代表SHIFT2,@代表SHIFT3,#代表SHIFT4
End Function
'获检查码"C"和"K"的值
'检验码的计算方法:
'a.先检查出资料对应的码值
'b.检查码C从资料的最右边一位开始,用1-20的顺序排列,若超过20位,则从头开始
'c.检查码K从资料的C位开始,用1-15的顺序排列,若超过15位则从头开始.
'如计算“CODE 93”:
'1*3+2*9+3*38+4*14+5*13+6*24+7*12=484 C=484÷47于14 则C=14=E(对应值) K的值的计算同C
Private Function Get_93Checksum_CK_Char(ByVal Data As String) As String
Dim i As Integer
剩余5页未读,继续阅读
gumingjiang
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 李兴华Java基础教程:从入门到精通
- U盘与硬盘启动安装教程:从菜鸟到专家
- C++面试宝典:动态内存管理与继承解析
- C++ STL源码深度解析:专家级剖析与关键技术
- C/C++调用DOS命令实战指南
- 神经网络补偿的多传感器航迹融合技术
- GIS中的大地坐标系与椭球体解析
- 海思Hi3515 H.264编解码处理器用户手册
- Oracle基础练习题与解答
- 谷歌地球3D建筑筛选新流程详解
- CFO与CIO携手:数据管理与企业增值的战略
- Eclipse IDE基础教程:从入门到精通
- Shell脚本专家宝典:全面学习与资源指南
- Tomcat安装指南:附带JDK配置步骤
- NA3003A电子水准仪数据格式解析与转换研究
- 自动化专业英语词汇精华:必备术语集锦
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功