Crystal Reports 9.0 如何制作Code-128 的条码,扫描枪要能够扫描,使用的时Code128字体!急~~~~
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Crystal Reports 9.0 如何制作Code-128 的条码,扫描枪要能够扫描,使用的时Code128字体!急~~~~相关的知识,希望对你有一定的参考价值。
参考技术A 据说ASCII大于127的要转换一下,不然不能识别。给你个函数:Function code128b(Tar As Range) '128B码:ChrW(204).
Dim s$, i%, ss$, j%, curR%, checkB%
curR = Tar.Row
s = Tar.Value
checkB = 1 '开始位的码值为104 mod 103 =1
For i = 1 To Len(s)
ss = Mid(s, i, 1)
j = Asc(ss) '不过滤无效字符,比如汉字.
If j < 135 Then
j = j - 32
ElseIf j > 134 Then
j = j - 100
End If
checkB = (checkB + i * j) Mod 103 '计算校验位
Next
If checkB < 95 And checkB > 0 Then '有的资料直接求103的模,解说不充分,因为有的校验位超过127时,系统会"吃"掉它们(连带休止符).
checkB = checkB + 32
ElseIf checkB > 94 Then '字体设置时,字模被定义了2个值.观察字体文件时能发现.
checkB = checkB + 100
End If
code128b = ChrW(204) & s & IIf(checkB, ChrW(checkB), Chr(32)) & ChrW(206)
End Function 参考技术B 你这样是做不了Code 128的,先把内容,大小尺寸给我,做一个样本给你看.
Crystal Reports:使用 Crystal Reports 的 log4net.dll 版本编译我的项目是个好主意吗?
【中文标题】Crystal Reports:使用 Crystal Reports 的 log4net.dll 版本编译我的项目是个好主意吗?【英文标题】:Crystal Reports: Is it a good idea to compile my project using the Crystal Reports' log4net.dll version? 【发布时间】:2012-05-29 09:59:06 【问题描述】:我正在使用 Apache 的 log4net 版本来记录东西
1.2.10.0 (with PublicTokenKey=1b44e1d426115821)
但不幸的是,SAP Crystal Reports 使用它自己版本的这个库和另一个公共令牌密钥(用他们自己的 snk 文件编译):
1.2.10.0 (with PublicTokenKey=692fbea5521e1304)
相同的版本,不同的公共令牌密钥。当我编译我的解决方案时,我有一条消息告诉我以下内容:
“无法解决“log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=1b44e1d426115821”和“log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=692fbea5521e1304”之间的冲突。选择"log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=1b44e1d426115821" 任意。”
最糟糕的是,如果不安装 32 位版本的 Crystal Reports(在 GAC 上安装 log4net 程序集),我无法部署到 64 位机器
我从 GAC 获取了 Crystal 版本的 log4net,问题是:
如果我开始使用 Crystal Reports 版本 (PublicTokenKey=692fbea5521e1304),我会解决什么问题吗?
和 如果我想使用下一个版本的 log4net(比如 v1.2.11.0)怎么办?
有什么方法可以正确解决这个问题吗?
【问题讨论】:
疯狂的是,.net 随意选择标准版本的 log4net,所以 Crystal 自己编译(和签名)的那个甚至没有被使用......所以 Crystal,为什么不只需在您的应用中使用/引用官方签名的,而不是看看到底发生了什么? 【参考方案1】:好吧,既然 log4net 是开源的,你可以用不同的名字编译它。
我不完全确定这是否可行,但我怀疑您也可以查看aliases。另见here。
【讨论】:
嗨罗德里戈,你有没有想出如何摆脱这个“警告”?如果是这样,您可以在这里发布您的答案吗?干杯,托德。 嗨@Tod,我担心它没有用。但我没有尝试任何新的东西。【参考方案2】:你把这段代码添加到App.config中:
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="CrystalDecisions.CrystalReports.Engine" publicKeyToken="692fbea5521e1304"/>
<bindingRedirect oldVersion="14.0.2000.0" newVersion="12.0.2000.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="CrystalDecisions.Shared" publicKeyToken="692fbea5521e1304"/>
<bindingRedirect oldVersion="14.0.2000.0" newVersion="12.0.2000.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="CrystalDecisions.ReportSource" publicKeyToken="692fbea5521e1304"/>
<bindingRedirect oldVersion="14.0.2000.0" newVersion="12.0.2000.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="CrystalDecisions.Windows.Forms" publicKeyToken="692fbea5521e1304"/>
<bindingRedirect oldVersion="14.0.2000.0" newVersion="12.0.2000.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="CrystalDecisions.Enterprise.Framework" publicKeyToken="692fbea5521e1304"/>
<bindingRedirect oldVersion="14.0.2000.0" newVersion="12.0.1100.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="CrystalDecisions.Enterprise.InfoStore" publicKeyToken="692fbea5521e1304"/>
<bindingRedirect oldVersion="14.0.2000.0" newVersion="12.0.1100.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
【讨论】:
这究竟应该做什么?以上是关于Crystal Reports 9.0 如何制作Code-128 的条码,扫描枪要能够扫描,使用的时Code128字体!急~~~~的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Visual Studio 2010 中使用 Crystal Reports 创建报表
如何在Visual Studio 2010中使用Crystal Reports创建报表