在 Visual FoxPro 中生成条码
阁下是否需要在 Visual FoxPro 报表中生成条码?这正是您在寻找的解决方案。 Barcodesoft Encoder 是一种智能且简单的解决方案,可在 FoxPro 应用程序中生成线性和二维条码。
在 FoxPro 中生成条码有两种解决方案:使用 FoxPro 链接库 (bcs.fll) 或者使用 barcodesoft.prg。
使用 FoxPro 链接库 (BCS.FLL):
FLL 库是一个带有 Visual FoxPro API 方法调用的 DLL。它是 Visual FoxPro 功能的扩展。
BCS.FLL 用于为 Visual FoxPro 编码线性和二维条码。它支持大多数主要的条码种类,包括 Code39、Code128、UPC-A、EAN13、Intelligent Mail、PDF417、Data Matrix、Aztec Code、QR Code 和 MaxiCode。
1.注册32位cruflbcs.dll。
将 BCS.FLL 和 cruflbcs.dll 复制到本地文件夹 “C:\Program Files (x86)\Common Files\Barcodesoft\FontUtil” 当中。
2.右键命令提示符,以管理员身份运行命令提示符。

输入以下命令注册cruflbcs.dll
<代码> cd "C:\Program Files (x86)\Common Files\Barcodesoft\FontUtil"
regsvr32.exe cruflbcs.dll
代码>

如果您看到以下窗口弹出,则表面您的注册已经成功了。

3. 启动 Visual FoxPro 并输入以下命令
将库设置为 SYS(2004) + "bcs.fll" 添加剂
4. 单击菜单 Report===>Insert Control===>Field 以在 VFP 报告中插入一个字段。使用函数将数据编码为 FoxPro 报告中的条形码,如下所示。
BCS_C39(AllTrim(FieldName))
提示:使用 AllTrim 函数删除所有前导和尾随空格。
5. 高亮条码字段,点击菜单Format===>Font 将字体字体应用到条码的FoxPro报告字段,例如Code39mHr。您可以从Barcodesoft网站免费下载演示字体。
以下是所有支持的 FoxPro 功能和推荐的 bcs.fll 字体的完整列表。
所有线性条码函数都只接受一个字符串参数。
二维条码函数有时会返回超过 255 个字符。 FoxPro 的字段长度限制为 255。
因此,我们使用第二个参数只检索返回的码字的一部分。
index设置为1时,返回返回码字的前250个字符。
index设置为2时,返回返回码字的后250个字符。
以此类推。
| VFP 函数 | 条码种类 | VFP 中使用的条码字体 |
|---|---|---|
| BCS_C39(DataToEncode) | Code39 只接受一个字符串作为输入参数 | Code39mHr |
| BCS_USSC39(DataToEncode) | USS Code39 | Code39mHr |
| BCS_C39M43(DataToEncode) | Code39 Mod 43 | Code39mHr |
| BCS_C39EXT(DataToEncode) | Code39 Extended | ExtCode39mHr |
| BCS_C11(DataToEncode) | Code11 | Code11mHr |
| BCS_C25(DataToEncode) | Code25 | Code25mHr |
| BCS_C25C(DataToEncode) | Code25 带校验码 | Code25mHr |
| BCS_I25(DataToEncode) | Interleaved 2of5 | I25mHr |
| BCS_I25C(DataToEncode) | Interleaved 2of5 with check digit | I25mHr |
| BCS_MSI(DataToEncode) | MSI / Plessey | MSImHr |
| BCS_C93(DataToEncode) | Code93 | Code93mHr |
| BCSCODABAR(DataToEncode) | Codabar | CodabarmHr |
| BCS_TLP(DataToEncode) | Telepen | TelepenMHr |
| BCS_TLPNUM(DataToEncode) | Telepen Numeric | TelepenNmHr |
| BCS_UPCA(DataToEncode) | UPC-A | UpcEanM |
| BCS_UPCE(DataToEncode) | UPC-E | UpcEanM |
| BCS_EAN13(DataToEncode) | EAN-13 | UpcEanM |
| BCS_EAN8(DataToEncode) | EAN-8 | UpcEanM |
| BCS_ISBN(DataToEncode) | ISBN 或者 Bookland | UpcEanM |
| BCS_RM(DataToEncode) | Royal Mail | bcsRM4SCC |
| BCS_IM(DataToEncode) | Intelligent Mail | BcsIM |
| BCS_C128A(DataToEncode) | Code128A | Code128aMHr |
| BCS_C128B(DataToEncode) | Code128B | Code128bMHr |
| BCS_C128C(DataToEncode) | Code128C | Code128cMHr |
| BCS_UCCEAN(DataToEncode) | GS1-128 (UCC/EAN-128) | Code128M |
| BCS_USS128(DataToEncode) | USS-128 | Code128M |
| BCS_MC(DataToEncode) | Master Carton Code, 只接受一个字符串作为输入参数 | Code128M |
| BCS_PDF417(DataToEncode, Index, MaxRow, FixedColumn, Security, Compaction, Truncated) | PDF417, 接受七个参数输入。Index 是用来对付255个字符的字符串长度限制。 | BcsPDF417 |
| BCS_DM(DataToEncode, Index, Format) | Data Matrix 接受三个参数 | BcsDataMatrix |
| BCS_QRCODE(DataToEncode, Index, SecurityLevel) | QR Code 接受三个参数 | BcsQrcode |
| BCS_C16K(DataToEncode, Index) | Code16K 接受两个参数 | Code16kMhr |
| BCS_AZTEC(DataToEncode, Index, Format,ErrorLevel) | Aztec 接受四个参数 | BcsAztec |
使用 Barcodesoft.prg
Barcodesoft.PRG 支持大多数主要条码种类,包括 Code39、Code128、UPC-A、EAN13、Intelligent Mail、PDF417、Data Matrix、Aztec Code、QR Code 和 MaxiCode。
1. 将 Barcodesoft.prg 和 cruflbcs.dll 复制到本地文件夹 “C:\Program Files (x86)\Common Files\Barcodesoft\FontUtil” 当中。
2.右键命令提示符,以管理员身份运行命令提示符。

输入以下命令注册cruflbcs.dll
<代码> cd "C:\Program Files (x86)\Common Files\Barcodesoft\FontUtil"
regsvr32.exe cruflbcs.dll
代码>

如果您看到以下窗口弹出,则表面您的注册已经成功了。

3.启动 Visual FoxPro 并输入以下命令
SET PROCEDURE TO "FOLDER\barcodesoft.PRG" ADDITIVE
4. 单击菜单 Report===>Insert Control===>Field 以在 VFP 报告中插入一个字段。使用函数将数据编码为 FoxPro 报告中的条形码,如下所示
CODE39(字段名)
5.高亮条码字段,单击菜单格式===>字体,将字体字体应用到条码的 FoxPro 报告字段,例如 Code39mHr。您可以从 Barcodesoft 网站免费下载演示字体。
这里是barcodesoft.prg 所有支持的FoxPro 条码种类和推荐使用条码字体的完整列表:
| VFP 函数 | 条码种类 | VFP 中使用的条码字体 |
|---|---|---|
| Code39(DataToEncode) | Code39 只接受一个字符串作为参数 | Code39mHr |
| USSCode39(DataToEncode) | USS Code39 | Code39mHr |
| Code39Mod43(DataToEncode) | Code39 Mod 43 | Code39mHr |
| Code39Ext(DataToEncode) | Code39 Extended | ExtCode39mHr |
| Code11(DataToEncode) | Code11 | Code11mHr |
| Code25(DataToEncode) | Code25 | Code25mHr |
| Code25Check(DataToEncode) | Code25 with check digit | Code25mHr |
| I25(DataToEncode) | Interleaved 2of5 | I25mHr |
| I25Check(DataToEncode) | Interleaved 2of5 with check digit | I25mHr |
| MSI(DataToEncode) | MSI / Plessey | MSImHr |
| Code93(DataToEncode) | Code93 | Code93mHr |
| Codabar(DataToEncode) | Codabar | CodabarmHr |
| Telepen(DataToEncode) | Telepen | TelepenMHr |
| TelepenNumeric(DataToEncode) | Telepen Numeric | TelepenNmHr |
| UPCA(DataToEncode) | UPC-A | UpcEanM |
| UPCE(DataToEncode) | UPC-E | UpcEanM |
| EAN13(DataToEncode) | EAN-13 | UpcEanM |
| EAN8(DataToEncode) | EAN-8 | UpcEanM |
| BOOKLAND(DataToEncode) | ISBN 或者 Bookland | UpcEanM |
| RoyalMail(DataToEncode) | Royal Mail | bcsRM4SCC |
| IM(DataToEncode) | Intelligent Mail | BcsIM |
| Code128A(DataToEncode) | Code128A | Code128aMHr |
| Code128B(DataToEncode) | Code128B | Code128bMHr |
| Code128C(DataToEncode) | Code128C | Code128cMHr |
| UCCEAN128(DataToEncode) | UCC/EAN-128 | Code128M |
| USS128(DataToEncode) | USS-128 | Code128M |
| MasterCarton(DataToEncode) | Master Carton Code, accepts only one parameter | Code128M |
|
PDF417(DataToEncode, Index, MaxRow, FixedColumn, Security, Compaction, Truncated) |
PDF417, 接受7个参数输入。 | BcsPDF417 |
| DataMatrix(DataToEncode, Index, Format) | Data Matrix 接受三个参数 | BcsDataMatrix |
| QRCode(DataToEncode, Index, SecurityLevel) | QR Code 接受三个参数 | BcsQrcode |
| Code16K(DataToEncode, Index) | Code16K accetps 2 parameters | Code16kMhr |
| Aztec(DataToEncode, Index, Format,ErrorLevel) | Aztec 接受四个参数 | BcsAztec |

