<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-22  評論-6  文章-17  trackbacks-0

    /*$T BYBARP~1.H GC 1.137 09/13/05 08:37:52 */
    #ifndef ByBarPrinterH
     #define ByBarPrinterH
     #include "vcl.h"
     #define BPLA_OK    1000 //一切正常
              ///
     #define BPLA_COMERROR  1001 //通訊錯或者未聯接打印機
     #define BPLA_PARAERROR  1002 //參數錯誤
     #define BPLA_FILEOPENERROR 1003 //文件打開錯誤
     #define BPLA_FILEREADERROR 1004 //文件讀錯誤
     #define BPLA_FILEWRITEERROR 1005 //文件寫錯誤
     #define BPLA_FILEERROR  1006 //文件不合要求
     #define BPLA_NUMBEROVER  1007 //指定的接收信息數量過大
     #define BPLA_IMAGETYPEERROR 1008 //圖象文件格式不正確

     #define BPLA_PAPERSHORT  1009 //缺紙
     #define BPLA_RIBBIONSHORT 1010 //缺色帶
     #define BPLA_BUSY   1011 //解釋器忙
     #define BPLA_PAUSE   1012 //暫停
              ///中
     #define BPLA_HEADHEAT  1013 //打印頭過熱
     #define BPLA_HEADOVER  1014 //打印頭抬起
     #define BPLA_CUT   1015 //切刀錯
     #define BPLA_READERROR  1016 //read error

    //打開端口
    typedef int (__stdcall *mBY_Open_Port) (int devtype, int porttype, char *opencode, int codelength, int baudrate);

    //打印
    typedef int (__stdcall *mBY_Print_Label)
     (
      int LabelType,
      const char *JiDaJu,
      const char *FenFaJu,
      const char *TiaoMaXinXi,
      const char *HaoMa,
      const char *JianShu,
      const char *ZhongLiang,
      const char *ZhuanKouJuDaiHao,
      const char *XingHao,
      const char *BeiZhu,
      const char *BiaoPaiBianHao,
      const char *ZhongLeiJianCheng,
      const char *BenZhuan,
      int Pieces
     );

    //查詢狀態
    typedef int (__stdcall *mBY_Query_Status) ();

    //關閉端口
    typedef int (__stdcall *mBY_Close_Port) (char *closecode, long codelength);
    class PACKAGE CByBarPrinter
    {
    public:
     long OpenPort(long nPcIndex, long nPortIndex, long baudrate);
     void ClosePort(void);
     long PrintLabel
       (
        long LabelType,
        String JiDaJu,
        String FenFaJu,
        String TiaoMaXinXi,
        String HaoMa,
        String JianShu,
        String ZhongLiang,
        String ZhuanKouJuDaiHao,
        String XingHao,
        String BeiZhu,
        String BiaoPaiBianHao,
        String ZhongLeiJianCheng,
        String BenZhuan,
        long Pieces
       );
     CByBarPrinter(void);
     long GetStatus(void);
    private:
     HINSTANCE m_hDll;
     bool  LoadLib(void);
    };
    #endif

    /*$T BYBARP~1.CPP GC 1.137 09/13/05 08:37:52 */
    #pragma hdrstop
    #include "ByBarPrinter.h"

    /* ---------------------------------------------------------------------------------------------------------------------
     ----------------------------------------------------------------------------------------------------------------------- */
    CByBarPrinter::CByBarPrinter(void)
    {
     m_hDll = NULL;
    }

    /* ---------------------------------------------------------------------------------------------------------------------
     ----------------------------------------------------------------------------------------------------------------------- */
    bool CByBarPrinter::LoadLib(void)
    {
     if(m_hDll == NULL) m_hDll = ::LoadLibrary("byprndll.dll");
     if(m_hDll == NULL)
      return false;
     else
      return true;
    }

    /* ---------------------------------------------------------------------------------------------------------------------
     ----------------------------------------------------------------------------------------------------------------------- */
    long CByBarPrinter::OpenPort(long nPcIndex, long nPortIndex, long baudrate)
    {
     long retCode;
     if(!LoadLib())
     {
      retCode = -2;
      return retCode;
     }

     mBY_Open_Port BY_Open_Port;
     BY_Open_Port = (mBY_Open_Port) GetProcAddress(m_hDll, "BY_Open_Port");
     if(BY_Open_Port == NULL)
     {
      retCode = -1;
     }
     else
     {
      String szCom;
      szCom = "COM";
      szCom += IntToStr(nPortIndex);

      int nLen = szCom.Length();

      retCode = BY_Open_Port(nPcIndex, nPortIndex, szCom.c_str(), nLen, 19200);
     }

     return retCode;
    }

    /* ---------------------------------------------------------------------------------------------------------------------
     ----------------------------------------------------------------------------------------------------------------------- */
    void CByBarPrinter::ClosePort(void)
    {
     if(!LoadLib()) return;

     mBY_Close_Port BY_Close_Port;
     BY_Close_Port = (mBY_Close_Port) GetProcAddress(m_hDll, "BY_Close_Port");

     char CloseCode[50];
     int  CodeLength = 0;
     memset(CloseCode, 0, 50);
     BY_Close_Port(CloseCode, CodeLength);

     //FreeLibrary(m_hDll);
     delete[] CloseCode;
     return;
    }

    /* ---------------------------------------------------------------------------------------------------------------------
     ----------------------------------------------------------------------------------------------------------------------- */
    long CByBarPrinter::PrintLabel
    (
     long LabelType,
     String JiDaJu,
     String FenFaJu,
     String TiaoMaXinXi,
     String HaoMa,
     String JianShu,
     String ZhongLiang,
     String ZhuanKouJuDaiHao,
     String XingHao,
     String BeiZhu,
     String BiaoPaiBianHao,
     String ZhongLeiJianCheng,
     String BenZhuan,
     long Pieces
    )
    {
     long retCode;
     if(!LoadLib())
     {
      retCode = -2;
      return retCode;
     }

     //USES_CONVERSION;
     mBY_Print_Label BY_Print_Label;
     BY_Print_Label = (mBY_Print_Label) GetProcAddress(m_hDll, "BY_Print_Label");
     if(BY_Print_Label == NULL)
     {
      retCode = -1;
      return S_OK;
     }

     retCode = BY_Print_Label
      (
       LabelType,
       JiDaJu.c_str(),
       FenFaJu.c_str(),
       TiaoMaXinXi.c_str(),
       HaoMa.c_str(),
       JianShu.c_str(),
       ZhongLiang.c_str(),
       ZhuanKouJuDaiHao.c_str(),
       XingHao.c_str(),
       BeiZhu.c_str(),
       BiaoPaiBianHao.c_str(),
       ZhongLeiJianCheng.c_str(),
       BenZhuan.c_str(),
       Pieces
      );

     return retCode;
    }

    /* ---------------------------------------------------------------------------------------------------------------------
     ----------------------------------------------------------------------------------------------------------------------- */
    long CByBarPrinter::GetStatus(void)
    {
     long state;
     if(!LoadLib())
     {
      state = -1;
      return state;
     }

     mBY_Query_Status BY_Query_Status;
     BY_Query_Status = (mBY_Query_Status) GetProcAddress(m_hDll, "BY_Query_Status");
     if(BY_Query_Status == NULL)
      state = -1;
     else
      state = BY_Query_Status();

     return state;
    }

    #pragma package(smart_init)

    posted on 2005-10-31 13:54 surffish 閱讀(248) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
    博客園   IT新聞   Chat2DB   C++博客   博問  
     
    主站蜘蛛池模板: 激情综合亚洲色婷婷五月 | 1000部啪啪未满十八勿入免费| 免费人成在线观看播放国产| 免费一级做a爰片久久毛片潮喷| 99亚偷拍自图区亚洲| 大学生一级毛片免费看| 亚洲三级中文字幕| 成年女人午夜毛片免费看| 亚洲一卡2卡3卡4卡5卡6卡| 五月婷婷免费视频| 亚洲AV无码之日韩精品| 亚洲免费视频网站| 91av免费观看| 亚洲人成色在线观看| 91在线手机精品免费观看| 亚洲日本香蕉视频观看视频| 人碰人碰人成人免费视频| 亚洲伊人久久综合中文成人网| 中文字幕免费播放| 女人张开腿给人桶免费视频 | 亚洲经典在线中文字幕| 一级成人毛片免费观看| 免费观看的a级毛片的网站| WWW国产亚洲精品久久麻豆| 亚洲人妻av伦理| 中文字幕免费视频| 亚洲欧美成aⅴ人在线观看| 亚洲日韩在线观看| 久久国产免费观看精品3| 亚洲欧美成人综合久久久| 337p日本欧洲亚洲大胆裸体艺术| 国产精品免费AV片在线观看| 日产国产精品亚洲系列| 亚洲天堂电影在线观看| 国产一区在线观看免费| 亚洲第一男人天堂| 国产精品亚洲mnbav网站 | 看全色黄大色大片免费久久| 国产高清视频免费在线观看| 亚洲精品在线视频观看| 免费一级成人毛片|