起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 164|回复: 8

【结贴】关于在表格文档里面打印条形码的问题

[复制链接]
发表于 2009-7-22 15:34:33 | 显示全部楼层 |阅读模式
一、通过条形码控件(Barcode)来打印。
先设置好控件的数据源和数据字段。

如果数据集里面只有一条记录时,打印没有问题。
如果数据集里面有10条(多条)不一样的记录时,打印出来的条形码会是10张相同的条形码。也就是说把第一条记录打印了10次。(其它字段是变了的).
二、通过条码字体(C39HrP72DlTt.TTF)来打印根本不行。
  比如设置“123456789”的字体为条码字体。显示和打印都看不到条形码。只看到“123456789”.
回复

使用道具 举报

发表于 2009-7-22 15:36:24 | 显示全部楼层
字体的问题。
1楼问题是表格文档的缺陷:单元格的font.charset在文档初始化时没有被设置。

现在可以先用代码来处理一下:
在表格文档Create(SheetDoc.OnCreate)时,设置单元格字体的charset
  Sheet.Cells[Col, row].Font.Charset := 1;  //2对应的是'SYMBOL_CHARSET'
倒数第二楼
http://bbs.justep.com/forum.php?mod=viewthread&tid=24447
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-7-22 15:56:40 | 显示全部楼层
还是没搞懂,能详细点吗?
回复 支持 反对

使用道具 举报

发表于 2009-7-22 16:45:27 | 显示全部楼层
在表格文档的代码里面添加代码。create事件里面。
  2楼的链接里面写了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-7-22 17:02:57 | 显示全部楼层
最初由 lixy 发布
[B]在表格文档的代码里面添加代码。create事件里面。
  2楼的链接里面写了 [/B]


这个我知道。
关键是二楼的有此地方没有说清楚。
我做的步骤:
1、在11行3列里输入“123456789”
  2、设置字体为条形码字体
3在表格文档Create(SheetDoc.OnCreate)时,设置单元格字体的charset
procedure TLCK_TB.SheetDocCreate(Sender: TObject);
begin
  Sheet.Cells[3, 11].Font.Charset := 1;
end;

4、运行程序还是打不出条形码来.
回复 支持 反对

使用道具 举报

发表于 2009-7-22 18:05:44 | 显示全部楼层
procedure TBGWD1.SheetDocCreate(Sender: TObject);
begin
Sheet.Cells[1, 4].Font.size:=30;
Sheet.Cells[1, 4].Font.Name:='3 of 9 Barcode';
Sheet.Cells[1, 4].Font.Charset := 1;  //2对应的是'SYMBOL_CHARSET'

end;
我下载的字体名是:'3 of 9 Barcode';
设计页面

3.jpg

65.06 KB, 下载次数: 97

回复 支持 反对

使用道具 举报

发表于 2009-7-22 18:05:58 | 显示全部楼层
效果1

1.jpg

17.76 KB, 下载次数: 97

回复 支持 反对

使用道具 举报

发表于 2009-7-22 18:06:11 | 显示全部楼层
效果2

2.jpg

27.2 KB, 下载次数: 95

回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-7-22 18:19:55 | 显示全部楼层
谢谢,搞定,结账
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-18 16:00 , Processed in 0.049947 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表