| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1915 人关注过本帖, 1 人收藏
标题:关于用VFP解决Code128c条形码的打印问题
取消只看楼主 加入收藏
gyluming
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2021-1-12
收藏
得分:0 
回复 28楼 laowan001
就是CODE128C条码编码的起始符CHR(205)与“90”对应的CODE128C条码编码的ASC字符CHR(122),它们会组合成汉字
图片附件: 游客没有浏览图片的权限,请 登录注册

以ASC字符超过127的开始的字符串好像都会拼成汉字。
这也给我提供了一个思路,可以把CODE128的字库的后面一部分字符移到CHR(30)之前,因为前面那一部分字符平时都是用于控制的,打印不可见。只是要修改一下字库。

[此贴子已经被作者于2023-6-16 09:46编辑过]

2023-06-16 09:40
gyluming
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2021-1-12
收藏
得分:0 
回复 30楼 吹水佬
大佬!没有试过,有相关的介绍吗?我试过加空格,或分开,都不行。
按个人理解,二进制串还是字符,设为code128字体时它也是只能显示0和1呀

[此贴子已经被作者于2023-6-16 09:59编辑过]

2023-06-16 09:53
gyluming
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2021-1-12
收藏
得分:0 
回复 32楼 吹水佬
图片附件: 游客没有浏览图片的权限,请 登录注册

图片附件: 游客没有浏览图片的权限,请 登录注册

不知道我加的对不对,结果还是一样
2023-06-16 10:38
gyluming
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2021-1-12
收藏
得分:0 
回复 35楼 吹水佬
整个字符串也加过试了的,都一样,会拼成汉字。
2023-06-16 11:07
gyluming
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2021-1-12
收藏
得分:0 
回复 34楼 laowan001
用FoxBarcode使用gpImage2(http://sites.)类生成图像,不是用CODE128字库,跟据编码规则用ASC字符生成的。思路就不同。
2023-06-16 11:25
gyluming
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2021-1-12
收藏
得分:0 
回复 38楼 吹水佬
应该就是不支持扩展字符集的问题,所以我把CODE128C的字库中195-207这一段的ASC字符复制粘贴到了15-27这一段
大概就是图中这样
图片附件: 游客没有浏览图片的权限,请 登录注册

把下面红色框中的字符一个一个的复制到上面的对应位置
图片附件: 游客没有浏览图片的权限,请 登录注册

黄框中的就是复制过来的,好像可以打印了,试下发截图。
2023-06-16 17:17
gyluming
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2021-1-12
收藏
得分:0 
把原来的程序修改了一下,就是把195-207段的ASC字符修改到15-27,原程序中的+100改成-80,相应的字符所对条码就可以显示正常了。
程序代码:
SET TALK OFF
SET SAFE OFF
SET DATE TO ANSI
CLOSE DATABASES ALL
MESSAGEBOX("请先选择学生库",0+64,"条形码打印")
filename = GETFILE()

SELECT 考号, 姓名,学校,;
       SubStr(考号,9,2) AS 考场,;
       SubStr(考号,11,2) AS 座号,;
       25 AS TXM0,;
       INT(IIF(VAL(SUBSTR(考号,1,2))<95,VAL(SUBSTR(考号,1,2))+32,VAL(SUBSTR(考号,1,2))-80)) AS TXM1,;
       INT(IIF(VAL(SUBSTR(考号,3,2))<95,VAL(SUBSTR(考号,3,2))+32,VAL(SUBSTR(考号,3,2))-80)) AS TXM2,;
       INT(IIF(VAL(SUBSTR(考号,5,2))<95,VAL(SUBSTR(考号,5,2))+32,VAL(SUBSTR(考号,5,2))-80)) AS TXM3,;
       INT(IIF(VAL(SUBSTR(考号,7,2))<95,VAL(SUBSTR(考号,7,2))+32,VAL(SUBSTR(考号,7,2))-80)) AS TXM4,;
       INT(IIF(VAL(SUBSTR(考号,9,2))<95,VAL(SUBSTR(考号,9,2))+32,VAL(SUBSTR(考号,9,2))-80)) AS TXM5,;
       INT(IIF(VAL(SUBSTR(考号,11,2))<95,VAL(SUBSTR(考号,11,2))+32,VAL(SUBSTR(考号,11,2))-80)) AS TXM6,;
       INT(IIF(MOD(105+VAL(SUBSTR(考号,1,2))*1+VAL(SUBSTR(考号,3,2))*2+VAL(SUBSTR(考号,5,2))*3+VAL(SUBSTR(考号,7,2))*4+VAL(SUBSTR(考号,9,2))*5+VAL(SUBSTR(考号,11,2))*6,103)<95,;
       MOD(105+VAL(SUBSTR(考号,1,2))*1+VAL(SUBSTR(考号,3,2))*2+VAL(SUBSTR(考号,5,2))*3+VAL(SUBSTR(考号,7,2))*4+VAL(SUBSTR(考号,9,2))*5+VAL(SUBSTR(考号,11,2))*6,103)+32,;
       MOD(105+VAL(SUBSTR(考号,1,2))*1+VAL(SUBSTR(考号,3,2))*2+VAL(SUBSTR(考号,5,2))*3+VAL(SUBSTR(考号,7,2))*4+VAL(SUBSTR(考号,9,2))*5+VAL(SUBSTR(考号,11,2))*6,103)-80)) AS TXM7,;
       26 AS TXM8;
FROM &filename INTO TABLE DBF\TXM.DBF
REPORT FORM DBF\TXMDY preview

图片附件: 游客没有浏览图片的权限,请 登录注册

标签打印.rar (8.37 KB)

原版的CODE128字库与修改过的字库都放在包里了。
2023-06-16 17:30
gyluming
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2021-1-12
收藏
得分:0 
回复 40楼 星光悠蓝
条码控件终归是用着不是太明白,用字体这个简单清楚,就是第一次弄清楚编码的方法就好了
2023-06-16 17:36
gyluming
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2021-1-12
收藏
得分:0 
回复 39楼 laowan001
扫描是一样的结果,可以用的。
2023-06-16 17:36
快速回复:关于用VFP解决Code128c条形码的打印问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.025921 second(s), 12 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved