PB数据窗口内能否显示条形码?

wsv 2007-05-12 11:59:10
PB数据窗口内能否显示条形码?我想把他直接打印在标签上。
...全文
1490 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
wugao 2008-03-31
  • 打赏
  • 举报
回复
脚印
bpy 2008-03-10
  • 打赏
  • 举报
回复
gz, 不知要打印能识别的需要使用什么方法? 还是与打印机有关?
wanlichen 2007-08-17
  • 打赏
  • 举报
回复
直接到网上下载条码字体就行了,然后只要把要打成条形码的字段如ddbh,用compute字段:'*'+ddbh+'*',然后把该compute字段选择为条码字体就OK.
WOFEIYANG 2007-08-16
  • 打赏
  • 举报
回复
//函数功能:用普通激光打印机,打印条形码
//以下为函数参数:
//long job
// integer x_pos ,y_pos 为条码打印的起始位置
//integer Bar_Width 条码窄线的宽度
//code ,要打印的字符串

char Bar_Card[20],Bar_Print[22]
char Temp_Card[12]
string Bar_Table[40]
int i,j,X_Scan,Cal_Card,y_scan

x_scan = x_pos
y_scan = y_pos


Bar_Table[1]='00110-0100' // 0
Bar_Table[2]='10001-0100' // 1
Bar_Table[3]='01001-0100' // 2
Bar_Table[4]='11000-0100' // 3
Bar_Table[5]='00101-0100' // 4
Bar_Table[6]='10100-0100' // 5
Bar_Table[7]='01100-0100' // 6
Bar_Table[8]='00011-0100' // 7
Bar_Table[9]='10010-0100' // 8
Bar_Table[10]='01010-0100' // 9
Bar_Table[11]='10001-0010' // A
Bar_Table[12]='01001-0010' // B
Bar_Table[13]='11000-0010' // C
Bar_Table[14]='00101-0010' // D
Bar_Table[15]='10100-0010' // E
Bar_Table[16]='01100-0010' // F
Bar_Table[17]='00011-0010' // G
Bar_Table[18]='10010-0010' // H
Bar_Table[19]='01010-0010' // I
Bar_Table[20]='00110-0010' // J
Bar_Table[21]='10001-0001' // K
Bar_Table[22]='01001-0001' // L
Bar_Table[23]='11000-0001' // M
Bar_Table[24]='00101-0001' // N
Bar_Table[25]='10100-0001' // O
Bar_Table[26]='01100-0001' // P
Bar_Table[27]='00011-0001' // Q
Bar_Table[28]='10010-0001' // R
Bar_Table[29]='01010-0001' // S
Bar_Table[30]='00110-0001' // T
Bar_Table[31]='10001-1000' // U
Bar_Table[32]='01001-1000' // V
Bar_Table[33]='11000-1000' // W
Bar_Table[34]='00101-1000' // X
Bar_Table[35]='10100-1000' // Y
Bar_Table[36]='01100-1000' // Z
Bar_Table[37]='00011-1000' // -
Bar_Table[38]='10010-1000' // %
Bar_Table[39]='01010-1000' // $
Bar_Table[40]='00110-1000' // *

Bar_Card = upper(code)
if left(bar_card,1) <> '*' then
Bar_Print = '*' + Bar_Card // 添加起始符
end if
if right(bar_card,1) <> '*' then
Bar_Print = Bar_Card + '*' // 添加结束符
end if
j = 1


do
if (Bar_Print[j] = '*') then
Cal_Card = 40
elseif (Bar_Print[j] = '-') then
Cal_Card = 37
elseif (Bar_Print[j] >= 'A') then
Cal_Card = 11 + asc(Bar_Print[j]) - asc('A')
elseif (Bar_Print[j] >= '0') then
Cal_Card = 1 + asc(Bar_Print[j]) - asc('0')
end if
Temp_Card = Bar_Table[Cal_Card]
for i = 1 to 5
if (Temp_Card[i] = '0') then
X_Scan = X_Scan + Bar_Width / 2
PrintLine(Job,X_Scan,y_scan,x_Scan,y_scan + 550,Bar_Width)
X_Scan = X_Scan + Bar_Width / 2
else
X_Scan = X_Scan + Bar_Width * 3 / 2
PrintLine(Job,X_Scan,y_scan + 6, x_Scan,y_scan + 544,3 * Bar_Width)
X_Scan = X_Scan + Bar_Width * 3 / 2
end if
if (Temp_Card[6 + i] = '1') then
X_Scan = X_Scan + 4 * Bar_Width
else
X_Scan = X_Scan + 3 * Bar_Width /2
end if
next
j = j + 1
loop while (Bar_Print[j] <> '')

printtext(job,code,X_scan - 1200,y_scan + 600)

return 1
flyingdancex 2007-08-10
  • 打赏
  • 举报
回复
用控件和条形码字体都不可取(能打印但不能被扫描器识别,看看还可以,真正使用我还没有成功过,郁闷!)。只有自己画线。
Administrator204 2007-06-18
  • 打赏
  • 举报
回复
条形码字体
不过有个缺点,我用了code39不是很理想,太小太密
AFIC 2007-05-29
  • 打赏
  • 举报
回复
我觉得用条码字体比较方便
rightyeah 2007-05-29
  • 打赏
  • 举报
回复
就这么两个办法,我觉得用条码字体比较方便
jimlydukai 2007-05-29
  • 打赏
  • 举报
回复
可以用Microsoft Barcode Control 这个控件加以设置就可以在数据窗里把条形码打印出来!
doodle 2007-05-28
  • 打赏
  • 举报
回复
下载条码字体
设计数据窗口时 把要显示成条码的列 选择字体为那个条码字体
houdongfeng 2007-05-28
  • 打赏
  • 举报
回复
方法1.下载条码字体就行了
方法2.画线,修改宽度
waysue 2007-05-28
  • 打赏
  • 举报
回复
学习。
asa80 2007-05-28
  • 打赏
  • 举报
回复
不是PB能不能显示,而是你的操作系统中要安装条码字体就可以了。
嘉新 2007-05-12
  • 打赏
  • 举报
回复
完全可以用PB数据窗口内显示条形码的,你可以用字体或者自己画线或者用控件,
最好能看打條形碼是什麼機形.不同機形端口容易出錯.

Awang_126 2007-05-12
  • 打赏
  • 举报
回复
完全可以的,你可以用字体或者自己画线
或者用控件
liuxue_feng 2007-05-12
  • 打赏
  • 举报
回复
能,下载条码字体就行了

609

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder DataWindow
社区管理员
  • DataWindow社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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