条码打印问题,恳请专家高手解答,急用!!!!!!!!

liaoyoujun2009 2012-04-28 08:35:15
在数据窗口中将数据列选择成code128字体,条码打印出来后无法识别,不知道怎样解决,现在急需用!!!!跪求高手解答
...全文
229 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
l_8_l 2012-05-30
  • 打赏
  • 举报
回复
barcodex.ocx控件生成条码图片,不知道是否适合你那边的情况
wguan 2012-05-30
  • 打赏
  • 举报
回复
128码是要经过转换的,不能直接用原来的字符
huangjie1218 2012-05-30
  • 打赏
  • 举报
回复

Integer li_Count, li_Length, li_EndAsc, li_WeightTotal, li_Temp
String ls_EndChar, ls_Start, ls_StartA, ls_StartB, ls_StartC, ls_Stop, ls_Temp

If IsNull( as_Barcode ) OR as_Barcode = '' Then
Return ''
End IF

ls_StartA = char( 203 )
ls_StartB = char( 204 )
ls_StartC = char( 205 )
ls_Stop = char( 206 )

IF IsNumber( as_Barcode ) Then
IF Mod( Len( as_Barcode ), 2 ) = 0 Then
ls_Start = ls_StartC
Else
ls_Start = ls_StartB
End IF
Else
ls_Start = ls_StartB
End IF

Choose Case ls_Start
Case ls_StartB //code128B編碼方式

li_Length = Len( as_Barcode )

li_WeightTotal = Asc( ls_StartB ) - 100

For li_Count = 1 To li_Length
li_Temp = Asc( Mid( as_Barcode, li_Count, 1 ) )
IF li_Temp >= 32 Then
li_WeightTotal += ( li_Temp - 32 ) * li_Count
Else
li_WeightTotal += ( li_Temp + 64 ) * li_Count
End IF
Next

li_EndAsc = Mod( li_WeightTotal, 103 )

IF li_EndAsc >= 95 Then
li_EndAsc += 100
Else
li_EndAsc += 32
End IF

ls_EndChar = Char( li_EndAsc )

ls_Temp = as_Barcode

Case ls_StartC

li_Length = Integer( Len( as_Barcode ) / 2 )

li_WeightTotal = Asc( ls_StartC ) - 100

For li_Count = 1 To li_Length
li_Temp = Integer( Mid( as_Barcode, li_Count * 2 - 1, 2 ) )
li_WeightTotal += li_Temp * li_Count
Next

li_EndAsc = Mod( li_WeightTotal, 103 )

If li_EndAsc >= 95 Then
li_EndAsc += 100
Else
li_EndAsc += 32
End If

ls_EndChar = Char( li_EndAsc )

For li_Count = 1 To li_Length
li_Temp = Integer( Mid( as_Barcode, li_Count * 2 - 1, 2 ) )
IF li_Temp >= 95 Then
ls_Temp = ls_Temp + Char( li_Temp + 100 )
Else
ls_Temp = ls_Temp + Char( li_Temp + 32 )
End IF
Next

End Choose

as_Barcode = ls_Start + ls_Temp + ls_EndChar + ls_Stop

Return as_Barcode
xufxuf 2012-05-27
  • 打赏
  • 举报
回复
解决了没有?条码打印出来无法识别,问题只在于缩放比例是否合适.
wangjm2004 2012-05-05
  • 打赏
  • 举报
回复
用字体可以,字体有显示样式,如内容是'123456',不能直接赋上去,要转换成字体的内容格式才行
还有一方法就是直接生成打印文件,再输出到打印机,这个要求针对不同语言的条码打印机编程
winnet 2012-05-03
  • 打赏
  • 举报
回复
条码字体没用过,现在用的是生成的生码CODE128
sybasebbs 2012-05-02
  • 打赏
  • 举报
回复
条码前后加*号试试
wixinyoyo 2012-05-02
  • 打赏
  • 举报
回复
还有可能是扫描枪的问题,具体看扫描枪的设置说明书
hxbkkk 2012-05-02
  • 打赏
  • 举报
回复
最好用默认的比例打印
lcc42 2012-04-29
  • 打赏
  • 举报
回复
改用39吗,然后用字符替换支持所有字符

1,076

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧