首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > PB >

pb生成code128条码,用字体实现,文本框或label打印出来,有用过的给一段代码

2013-12-04 
pb生成code128条形码,用字体实现,文本框或label打印出来,有用过的给一段代码?pb生成code128条形码,用字体

pb生成code128条形码,用字体实现,文本框或label打印出来,有用过的给一段代码?
pb生成code128条形码,用字体实现,文本框或label打印出来,有用过的给一段代码?
本人刚接触pb,都在模仿。。。。 条形码
[解决办法]
code 128條型碼並不像 code 39可直接使用(code 39前後加上*即可), 需略加計算, 其原理網上有不少資料, PB實現方式如下

//function: of_str2code128(string as_value)
//Return value: string
//將傳入內容,計算檢查碼 及 加上前後碼,轉為 code 128 回傳
//以下為 Code128-B 編碼方式範例說明
//Example: CC
//Message : Start B  C    C  
//Value       104      35   35
//Position:   -          1     2
//Calculate Total: 104 + (35x1) + (35x2)= 209
//checksum code: 209 Mod 103 = 3
//checksum char : 3 = #
//Final code(Code128): (104)(35)(35)(3)(106)
//Final code(ASCII):     (154)(67)(67)(35)(156)
//Final Display(ASCII): ?     C   C    #    ?
//Final message:   (Start B)  (CC)  (#)  (STOP)

char lc_endChar
long ll_loop, ll_asc, ll_total, ll_endAsc
string ls_RetVal

ll_total=104// Start B 碼為 104
For ll_loop=1 to len(as_value)
ll_asc = AscA(Mid(as_value, ll_loop, 1))
If ll_asc >= 32 Then
ll_total += (ll_asc - 32) * ll_loop
Else
ll_total += (ll_asc + 64) * ll_loop
End If
Next

ll_endAsc = Mod(ll_total, 103)
If ll_endAsc >= 95 Then
Choose Case ll_endAsc
Case 95
lc_endChar = "?"
Case 96
lc_endChar = "?"
Case 97
lc_endChar = "?"
Case 98
lc_endChar = "?"
Case 99
lc_endChar = "?"
Case 100
lc_endChar = "è"
Case 101
lc_endChar = "é"
Case 102
lc_endChar = "ê"
End Choose
Else
 ll_endAsc += 32
 lc_endChar = CharA(ll_endAsc)
End If
ls_RetVal ="ì" + as_value + lc_endChar + "?"
Return ls_RetVal

热点排行