彩票走势图

条形码控件TBarCode SDK系列教程四(TBarCode OCX篇)

翻译|使用教程|编辑:黄竹雯|2018-10-16 13:18:05.000|阅读 296 次

概述:本系列教程会解答您在使用条形码生成控件TBarCode SDK产品时遇到的绝大部分疑惑。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

相关链接:

TBarCode SDK是一款可以在任意应用程序和打印机下生成和打印所有条码的条码软件组件。TBarCode SDK对于Microsoft® Office 用户以及软件开发者提供条码打印。使用此款条码软件组件您可以以完美效果生成和打印所有用于工业和商业条码符号。

TBarCode SDK最新版下载

一. 关于Microsoft Access - 使用Autoexec Macro进行许可

下面我们将向您展示如何在数据库启动时获得许可(TBarCode OCX V11的示例)。使用以下功能创建新模块(在Microsoft VBA编辑器中):

Public Function LicenseTBarCode()
 Dim TB As New TBarCode11
 TB.LicenseMe "Mem:Licensee", eLicKindDeveloper, 1, "Key", TBarCode11Lib.eLicProd1D
 Set TB = Nothing
End Function

使用以下设置创建名为“Autoexec”的新Macro:

Action = RunCode
Functionname = License TBarCode()

注:不要忘记在菜单Tools - References中包含对ActiveX Control的类型库的引用(否则不能使用枚举)。我们建议在项目属性窗口中使用密码保护您的VBA代码。

二. 如何在VB6中为812.8 dpi创建最佳位图(1D代码)?

方法1

第一种方法使用预设(自定义)模块宽度,设置DPI,然后计算符号的总宽度。该原理也适用于其他打印机。

OCX方法BCWidthHdc2可用于计算条形码的宽度。如果已设置模块宽度,请使用[in] nWidth的虚拟值。如果以unit = mm计算宽度,则将其转换为Pixels,然后将其转换为SaveImage函数。高度有类似的功能 - 但高度只需要计算2D条形码。

注意:当您将模块宽度设置为精确到0.3125毫米或0.0123英寸时,您在812.8 dpi机器的打印光栅中是100%。这是推荐值之一。如果已启用opt resolution标志,则模块宽度将更改为打印栅格中的下一个(较低)像素边界,因此会“optimized”。必须相应地设置Dpi以进行此优化。

示例代码:

Dim widthPx As Long
Dim heightPx As Long
Dim heightMM As Double

TBarCode111.Dpi = 812.8
TBarCode111.SizeMode = eSizeMode_CustomModuleWidth
TBarCode111.ModuleWidth = "312.5"

heightPx = 500
heightMM = heightPx * (25.4 / TBarCode111.Dpi)
widthPx = TBarCode111.BCWidthHdc2(0, 1000, heightMM * 1000, eMUPixel)

TBarCode111.SaveImage "c:\temp\test2.tif", eIMTif, widthPx, heightPx, 812.8, 812.8

方法2

使用第二种更简单的方法,模块宽度未明确设置。相反,传递给GetOptimalBitmapSize(OCX API)函数的缩放因子控制模块宽度。如果您使用它,请不要在API中设置自定义模块宽度和/或最佳分辨率。该函数执行一些额外的放大(基于dpi),在调用函数时应该用DPI = 0关闭。

因为我们知道打印机的DPI,所以我们也知道像素(打印机点)尺寸。我们还知道一个模块应始终是一个打印机点的整数倍。我们必须考虑通常一个模块根本不应小于0.190毫米(但取决于条形码类型)。然后,您需要做的就是将ScaleX = ModuleWidth / PixelSize因子(= 8,9,10,...)传递给GetOptimalBitmapSize函数,并使用SaveImage返回的值。

模块宽度:0.0123英寸最佳值为10像素,812.8 dpi。因此,GetOptimalBitmapSize函数的缩放因子为10。

示例代码:

Dim width As Long
Dim height As Long
width = 1
height = 500
TBarCode111.Dpi = 0  'turn off additional dpi/96 scaling
TBarCode111.GetOptimalBitmapSize 10, 10, width, height
TBarCode111.SaveImage "c:\temp\test.tif", eIMTif, width, height, 812.8, 812.8

三. 如何在Access VBA中生成PDF417?

请使用此代码段作为起点:

' set barcode type = PDF417
Me.bc.Object.BarCode = 55

' set size mode to CustomModuleWidth
Me.bc.Object.SizeMode = 1

' now adjust module width to 0.254 mms
Me.bc.Object.ModuleWidth = "254"

' set number of data columns
' optional parameter, but required to get constant width
Me.bc.Object.PDF417.Columns = 5

' adjust row height to 3 times of the module width
Me.bc.Object.PDF417.RowHeight = 254 * 3

Me.bc.Object.Text = "my data"

四. 如何在Access VBA中计算Mod-10?

请使用此代码段作为起点:

Public Function CalculateMod10(data As String) As String

Dim tbc As TBarCode11Lib.TBarCode11
Set tbc = CreateObject("TBarCode11.TBarCode11")
Dim cd As String
cd = tbc.CalculateCheckdigits(eCDMod10, data)
CalculateMod10 = Left(cd, 1)

End Function

福利时间:点击此处>>>>>>获得TBarCode SDK的完整应用示例。


标签:条形码条形码生成工业4.0工业物联网

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP