系统中须要在浏览器,直接调用条码打印机,打印出产品条码。

现实中的条码打印机,品种繁多,非常难在一个程序中实现, 于是我们用已经支持全部条码打印机的bartender软件

调用它的api ,来实如今浏览器中打印条码。

以下是 代码实现:

Private Sub UserControl_Initialize()

'On Error Resume Next

Dim app1 As BarTender.Application

    Set app1 = CreateObject("BarTender.Application")

      app1.Quit

     

    

    

     If Err.Number <> 0 Then

        MsgBox ("您还没有安装bartender,请点击《条码打印说明》中的下载链接下载安装。")

     End If

     Err.Clear

    

     'Dim fso As Object

     'Set fso = CreateObject("scripting.filesystemobject")

    

     Dim fso As New Scripting.FileSystemObject

     If fso.FileExists("c:\sun.btw") = True Then

        path = "c:\sunsky1.btw"

    Else

        If fso.FileExists("d:\sun.btw") = True Then

            path = "d:\sun.btw"

        Else

            On Error Resume Next

            Err.Clear

           

            DownNetFile "http://www.erwm.org/suns.btw", "c:\sun.btw"

             path = "c:\sunsky1.btw"

            If Err.Number <> 0 Then

            Err.Clear

           

            DownNetFile "http://www.erwm.org/sun.btw", "d:\sun.btw"

             path = "d:\sunsky1.btw"

             If Err.Number <> 0 Then

                MsgBox ("您还没有下载打印模版,请点击《条码打印说明》中的下载链接下载安装。")

            End If

            End If

        End If

    End If

End Sub

Public Sub printone(ordernumber As String, itemnumber As String, qty As String, barcode As String, isshow As String)

Dim Format As BarTender.Format

     Set app = CreateObject("BarTender.Application")

    Set Format = app.Formats.Open(path)

 

    Format.SetNamedSubStringValue "barcode", barcode

    Format.SetNamedSubStringValue "ordernumber", ordernumber

    Format.SetNamedSubStringValue "qty", qty

    Format.SetNamedSubStringValue "itemnumber", itemnumber

    If isshow = "1" Then

    Format.PrintOut True, True

    Else

    Format.PrintOut

    End If

    Format.Close btDoNotSaveChanges

     app.Quit

End Sub

Public Function isgood() As String

    On Error Resume Next

   

       

    

    

End Function

Private Sub DownNetFile(ByVal nUrl As String, ByVal nFile As String)

     Dim XmlHttp, B() As Byte

     Set XmlHttp = CreateObject("Microsoft.XMLHTTP")

     XmlHttp.Open "GET", nUrl, False

     XmlHttp.Send

     If XmlHttp.ReadyState = 4 Then

         B() = XmlHttp.ResponseBody

         Open nFile For Binary As #1

         Put #1, , B()

         Close #1

     End If

     Set XmlHttp = Nothing

End Sub

在浏览器中通过bartender,调用条码打印机的active控件代码的实现的更多相关文章

  1. 编写在浏览器中不弹出警告的ActiveX控件

    我们在编写ActiveX控件时,如果用在浏览器中,经常都会弹出现在运行的脚本不安全的提示, 如果给客户使用,将会带来极大不便.按照MSDN的介绍通常有两种一种是实现IObjectSafe接口,一种是通 ...

  2. MVC中使用HTML Helper类扩展HTML控件

    文章摘自:http://www.cnblogs.com/zhangziqiu/archive/2009/03/18/1415005.html MVC在view页面,经常需要用到很多封装好的HTML控件 ...

  3. 安卓中的事件分发机制之View控件

    前言:Android 中与 Touch 事件相关的方法包括:dispatchTouchEvent(MotionEvent ev).onInterceptTouchEvent(MotionEvent e ...

  4. ASP.NET中共有哪几种类型的控件?其中,HTML控件、HTML服务器控件和WEB服务器控件之间有什么区别

    ASP.NET的控件包括WEB服务器控件.WEB用户控件.WEB自定义控件.HTML服务器控件和HTML控件.HTML控件.HTML服务器控件和WEB服务器控件之间的区别如下所示.q      HTM ...

  5. C# Winform开发程序调用VLC播放器控件播放视频.

    VLC是个好东西,支持的格式多,还无广告,关键还有调用它的播放控件不用安装. 开个文章记录下调用这个控件的流水账,以便以后需要的时候查阅 创建工程 首先新建一个Winform工程. 这里姑且叫做VLC ...

  6. 如何: 在 VS中的设计时刻主从表绑定控件到数据库

    这个示例展示了如何在 Visual Studio 2005 的设计时刻,把一个 data-aware 控件 (XtraGrid.XtraPivotGrid.XtraVerticalGrid 等) 绑定 ...

  7. winform中button点击后再点击其他控件致使button失去焦点,此时button出现黑色边线,去掉黑色边线的方法

    winform中button点击后再点击其他控件致使button失去焦点,此时button出现黑色边线,去掉黑色边线的方法 button的FlatAppearence属性下,设置BorderSize= ...

  8. IE8下调用Active控件

    之前在IE6下运行正常的Active控件,浏览器升级到IE8后全部失效,并呈浏览器崩溃状. 网上搜了一圈得到如下解决方法: 1.设置信任站点 2.还需要在IE浏览器菜单 “工具>Internet ...

  9. Excel中的表单控件和active控件

    EXCEL中有两种控件:表单控件和active控件 表单控件是excel5和excel95开始使用的,从excel97开始,active控件开始出现 关于表单控件和active控件的区别和使用范围,网 ...

随机推荐

  1. spring MVC 如何获取session并实现传值到前台

    后台获取session: @RequestMapping("/usrlogin") public ModelAndView usrlogin(@RequestParam Strin ...

  2. [置顶] Oracle 11g ASM:如何在 ASMCMD 命令行工具中创建 Oracle ACFS 文件系统

    实验环境:Oracle 11g R2 RAC (11.2.0.3.5)                Oracle Enterprise Linux 5.6 x86 1.创建 ASM 磁盘组 在两节点 ...

  3. 6.6.2 自己主动泛型化(automatic generalization)

    6.6.2 自己主动泛型化(automatic generalization) 在这一章,我们已经实现了几个 F# 的高阶函数.也看到了在 F# 和 C# 中并排的实现.F# 实现的非常重要方面,是我 ...

  4. codility上的问题(26) Hydrogenium 2013

    题目,挺无聊的.一个裸的最短路.n个点,你住在0,要去买东西,每个点有一个关门时间,问能最早买到食物的时间.有两点注意 (1)有重边 (2) 原图是dicrect连接...但不是有向边,被这个误导了. ...

  5. iOS 使用Block实现函数回调

    事实上.iOS中的Block就是C++中的函数指针,实现方式都是一样的,以下贴出一个简单的实践. 首先,创建一个回调的类 BlockStudy.h // // BlockStudy.h // Bloc ...

  6. android电话接通状态下,关机铃声无法从外放输出

    AudioMTKPolicyManager.cpp的startOutput方法中.将在newDevic获取到的后面加入: if(stream==AudioSystem::BOOT)newDevice| ...

  7. js判断是否为pc端或移动端

    function IsPC() { var userAgentInfo = navigator.userAgent; var Agents = new Array("Android" ...

  8. 不用SWIG,Go使用C++代码的方式

    将C++代码用C作一次封装,就可以让Go调用了. 这是一个C++头文件: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 #ifndef CGO_CPPGO_C ...

  9. ADO.NET 操作数据库 --- 01 简单封装

    由于我是Java转的C#开始的时候就用的NHihernate,和EF 对ADO.NET使用较少,现在封装一个ADO.NET的工具类来实现数据库的操作,比较简单,望大家多多提意见. 如果大家有什么学习中 ...

  10. 基于visual Studio2013解决C语言竞赛题之1011对称

         题目 解决代码及点评 /* 11. 判断一个给定的5×5方阵是否以第3列为轴线对称? */ #include <stdio.h> #include <s ...