npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

enn-pplb

v1.2.6

Published

pplb dll node翻译 ```javascript

Downloads

133

Readme

pplb dll node翻译


const dllPath = path.join(__dirname, "./Winpplb.dll")
console.log(dllPath)
const t = new PPLB(dllPath)
console.log(t.B_Get_DLL_Version(0))
console.log(t.B_GetUSBBufferLen())
console.log(t.B_EnumUSB())
let buf1 = Buffer.alloc(128)
let buf2 = Buffer.alloc(128)
t.B_GetUSBDeviceInfo(1, buf1, 128, buf2, 128)
console.log(buf1.toString(), buf2.toString())
let ret = t.B_CreatePrn(12, buf2)
console.log(ret)
console.log(t.B_Set_DebugDialog(1))
console.log(t.B_Set_Originpoint(0, 0))
console.log(t.B_Select_Option(2))
console.log(t.B_Set_Darkness(10))
console.log(t.B_Del_Pcx("*"))
console.log(t.B_Get_Graphic_ColorBMPEx(185, 0, 400, 240, 0, "bb1", "bb.bmp"))
console.log(t.B_Print_Out(1))
console.log(t.B_ClosePrn())
/******************************************************************************
  Module: BWIN-CAPI.TXT
          All commands for PPLB in Dynamic Link Library for Windows
  Notices: Copyright (c) 1998-2013 ARGOX
******************************************************************************/
  目錄
===============================================================================
(01)B_Bar2d_Maxi()              => 印出一個 Maxi Code 2D Barcode。
(02)B_Bar2d_PDF417()            => 印出一個 PDF-417 2D Barcode。
(03)B_Bar2d_PDF417_N()          => 印出一個 PDF-417 2D Barcode。
(04)B_ClosePrn()                => 關閉 Printer 工作。
(05)B_CreatePrn()               => 開啟 Printer 工作。
(06)B_Del_Form()                => 刪除 Form (表格)。
(07)B_Del_Pcx()                 => 刪除 Pcx 圖檔。
(08)B_Draw_Box()                => 畫一個框。
(09)B_Draw_Line()               => 畫一條線。
(10)B_Error_Reporting()         => 開啟或關閉錯誤回傳功能。
(11)B_Get_DLL_Version()         => 取得或秀出此函數庫版本資訊。
(12)B_Get_DLL_VersionA()        => 取得或秀出此函數庫版本資訊。
(13)B_Get_Graphic_ColorBMP()    => 轉換 BMP 圖檔彩色變灰階,並將圖形儲存在印表機內的 RAM。
(14)B_Get_Pcx()                 => 列印一個圖形並將圖形儲存在印表機內的 Memory。
(15)B_Initial_Setting()         => 前置處理。
(16)B_Load_Pcx()                => 列印一個圖形。
(17)B_Open_ChineseFont()        => 開啟使用中文點矩陣字型檔案 (16*15 和 24*24)。
(18)B_Print_Form()              => 列印一個 FORM (表格),並輸入 FORM 所有變數、計數資料。
(19)B_Print_MCopy()             => 列印所有資料和加上跳號複製功能。
(20)B_Print_Out()               => 列印所有資料。
(21)B_Prn_Barcode()             => 印出一個條碼和加上跳號功能。
(22)B_Prn_Configuration()       => 列印印表機內部配置。
(23)B_Prn_Text()                => 印出一行文字和加上跳號功能。
(24)B_Prn_Text_Chinese()        => 印出一行文字,使用中文點矩陣字型檔案 (16*15 或 24*24)。
(25)B_Prn_Text_TrueType()       => 印出一行 True Type Font 文字。
(26)B_Prn_Text_TrueType_W()     => 印出一行 True Type Font 文字,並控制字型的寬及高。
(27)B_Select_Option()           => 設定轉印模式、啟動 Cutter 或 Peel。
(28)B_Select_Option2()          => 設定轉印模式、啟動 Cutter 或 Peel。
(29)B_Select_Symbol()           => 符號設定選擇。
(30)B_Select_Symbol2()          => 符號設定選擇。
(31)B_Set_Backfeed()            => 啟動 Back feed。
(32)B_Set_BMPSave()             => 儲存影像圖檔。
(33)B_Set_Darkness()            => 設定熱感頭列印熱度。
(34)B_Set_DebugDialog()         => 設定除錯環境。
(35)B_Set_Direction()           => 設定列印方向。
(36)B_Set_Form()                => 儲存並列印 FORM (表格)。
(37)B_Set_Labgap()              => 同時設定標籤長度及 GAP 長度。
(38)B_Set_Labwidth()            => 設定標籤寬度。
(39)B_Set_Originpoint()         => 設定開始列印點。
(40)B_Set_Prncomport()          => 設定 Serial Port。
(41)B_Set_Prncomport_PC()       => 設定 PC 序列埠。
(42)B_Set_Speed()               => 設定列印速度。
(43)B_Set_ProcessDlg()          => 開啟或關閉進度對話框
(44)B_GetUSBBufferLen()         => 查詢 USB 埠資料長度
(45)B_EnumUSB()                 => 取得 USB 埠的資料
(46)B_CreateUSBPort()           => 使用 USB 埠進行傳輸
(47)B_ResetPrinter()            => 使印表機重新開機
(48)B_GetPrinterResponse()      => 讀取印表機錯誤代碼
(49)B_TFeedMode()               => T Feed模式切換
(50)B_TFeedTest()               => T Feed模式紙張測試
(51)B_CreatePort()              => 開啟傳輸埠進行傳輸
(52)B_Execute_Form()            => 列印一個已存在列表機內的 FORM (表格),並輸入 FORM 所有變數、計數資料。
(53)B_Bar2d_QR()                => 列印 QR 條碼 
(54)B_GetNetPrinterBufferLen()  => 查詢 Net Printer的資料長度。
(55)B_EnumNetPrinter()          => 取得 Net Printer的資料。
(56)B_CreateNetPort()           => 使用 Net 埠進行傳輸。
(57)B_Prn_Text_TrueType_Uni()   => 印出一行由Unicode編碼文字所轉成的 True Type Font 文字。
(58)B_Prn_Text_TrueType_UniB()  => 印出一行由Unicode編碼文字所轉成的 True Type Font 文字。  
(59)B_GetUSBDeviceInfo()        => 取得 USB 埠的裝置名稱和裝置路徑。
(60)B_Get_Graphic_ColorBMPEx()  => 轉換 BMP 圖檔彩色變灰階,並將圖形儲存在印表機內的 RAM。
(61)B_Get_Graphic_ColorBMP_HBitmap() => 轉換 BMP 圖檔彩色變灰階,並將圖形儲存在印表機內的 RAM。
(62)B_WriteData()               => 用來立即將資料傳送出或暫時寫入暫存區中。
(63)B_ReadData()                => 取得印表機中的資料。
(64)B_Set_EncryptionKey()       => 設定加密鑰匙的值。
(65)B_Check_EncryptionKey()     => 確認加密鑰匙的正確性。
(66)B_Set_ErrorDlg()            => 開啟或關閉重試詢問視窗。
(67)B_Bar2d_DataMatrix()        => 列印 Data Matrix 條碼。
(68)B_Set_Backfeed_Offset()     => 設定 Back Feed 偏移量(只用於撕紙模式).
(69)B_Set_CutPeel_Offset()      => 設定裁切或剝紙偏移量(只用於裁切/剝紙模式).
(70)B_Set_CommTimeout()         => 設定通信的時間.
(71)B_Get_CommTimeout()         => 取得通信的時間.
(72)B_Set_LabelForSmartPrint()  => 設定 Smart Print 中所需的資訊.

*******************************************************************************
  注意事項
===============================================================================
1.你應該將DLL檔案放置在哪兒?
  若使用32位元的DLL:
  A.將DLL檔案和應用程式放在同一目錄下.(這是最好的方法)
  B.在Windows 32位元作業系統中, 將DLL檔案放置在\Windows\System32目錄.
  C.在Windows 64位元作業系統中, 將DLL檔案放置在\Windows\Syswow64目錄.
  若使用64位元的DLL:
  A.將DLL檔案和應用程式放在同一目錄下.(這是最好的方法)
  B.在Windows 32位元作業系統中, 無法使用 64位元的DLL.
  C.在Windows 64位元作業系統中, 將DLL檔案放置在\Windows\Syswow32目錄.
2.以下範例為 Visual C++ 及 Visual Basic 的範例,其他程式語言不一定完全相同。

*******************************************************************************
B_GetUSBBufferLen()
B_EnumUSB()
===============================================================================
功能: 取得 USB Printer 的裝置名稱及資料長度。

語法:
  VC:
    int B_GetUSBBufferLen(void);
    int B_EnumUSB(char *buf);
  VB: VBA:
    Declare Function B_GetUSBBufferLen() As Long
    Declare Function B_EnumUSB(ByVal buf As String) As Long
  VB:
    Declare Function B_GetUSBBufferLen() As Integer
    Declare Function B_EnumUSB(ByVal buf As Byte()) As Integer

參數:
    buf;
      儲存 USB Printer 資料。

傳回值:
    B_GetUSBBufferLen();  傳回 USB Printer的資料長度。
    B_EnumUSB() 0 -> OK.
    Reference BW-Error.txt file.

範例:
  VC:
    char *pbuf;
    int nLen = B_GetUSBBufferLen() + 1;
    if (nLen > 1) {
      pbuf = (char *)new char[nLen];
      B_EnumUSB(pbuf);
    }
  VB: VBA:
    Dim nLen As Long
    Dim pbuf As String
    nLen = B_GetUSBBufferLen() + 1
    If nLen > 1 Then
      pbuf = Space(128)
      Call B_EnumUSB(pbuf)
    End If
  VB.net:
    Dim nLen As Integer
    Dim pbuf(128) As Byte
    nLen = B_GetUSBBufferLen() + 1
    If nLen > 1 Then
      Call B_EnumUSB(pbuf)
    End If

說明: 這兩個函數是一組的函數。先用 B_GetUSBBufferLen() 取得 USB 傳輸埠的資料
    長度, 然後再配記憶體給 B_EnumUSB() 儲存 USB 埠的資料。USB 埠的資料是以
    ("0x0d0x0a")做分隔,舉例來說, 如果資料是 A-200(0x0d)(0x0a)R-400ZIP的話表示 
    USB1 是接 A-200, USB2 是接 R-400Zip。

*******************************************************************************
B_GetUSBDeviceInfo()
===============================================================================
功能: 取得 USB Printer的裝置名稱和裝置路徑。

語法:
  VC:
    int B_GetUSBDeviceInfo(int nPort, char *pDeviceName, int *pDeviceNameLen, 
      char *pDevicePath, int *pDevicePathLen);
  VB: VBA:
    Declare Function B_GetUSBDeviceInfo(ByVal nPort As Long, _
      ByVal pDeviceName As String, ByRef pDeviceNameLen As Long, _
      ByVal pDevicePath As String, ByRef pDevicePathLen As Long) As Long
  VB.net:
    Declare Function B_GetUSBDeviceInfo(ByVal nPort As Integer, _
      ByVal pDeviceName As Byte(), ByRef pDeviceNameLen As Integer, _
      ByVal pDevicePath As Byte(), ByRef pDevicePathLen As Integer) As Integer

參數:
    nPort;
      指定要取得資料的USB printer, 由1開始.
    pDeviceName;
      儲存USB printer的裝置名稱, 若輸入時為空指標, 則不填資料.
    pDeviceNameLen;
      呼叫函式時要填入pDeviceName暫存區的長度; 輸出時則會回傳裝置名稱的長度.
    pDevicePath;
      儲存USB printer的裝置路徑, 若輸入時為空指標, 則不填資料.
    pDevicePathLen;
      呼叫函式時要填入pDevicePath暫存區的長度; 輸出時則會回傳裝置路徑的長度.

傳回值:
    0 -> OK.
    Reference BW-Error.txt file.

範例:
  VC:
    char buf1[128]={0}, buf2[128]={0};
    int nLen1=128, nLen2=128, nlen;
    nlen = B_GetUSBBufferLen() + 1;
    if (nlen > 1) {
      B_GetUSBDeviceInfo(1, buf1, &nLen1, buf2, &nLen2);
      B_CreatePrn(12, buf2); //or B_CreatePort(6, 0, buf2);
    }
  VB: VBA:
    Dim buf1 As String
    Dim buf2 As String
    Dim nLen1, nLen2, nlen As Long

    nlen = B_GetUSBBufferLen() + 1
    If nlen > 1 Then
      nLen1 = 128
      nLen2 = 128
      buf1 = Space(nLen1)
      buf2 = Space(nLen2)
      Call B_GetUSBDeviceInfo(1, buf1, nLen1, buf2, nLen2)
      Call B_CreatePrn(12, buf2) 'or Call B_CreatePort(6, 0, buf2)
    End If
  VB.net:
    Dim buf1() As Byte
    Dim buf2() As Byte
    Dim nLen1, nLen2, nlen As Integer
    Dim encAscII = System.Text.Encoding.ASCII

    nlen = B_GetUSBBufferLen() + 1
    If nlen > 1 Then
      nLen1 = 128
      nLen2 = 128
      ReDim buf1(nLen1)
      ReDim buf2(nLen2)
      Call B_GetUSBDeviceInfo(1, buf1, nLen1, buf2, nLen2)
      Call B_CreatePrn(12, encAscII.GetString(buf2, 0, nLen2))
      'or Call B_CreatePort(6, 0, encAscII.GetString(buf2, 0, nLen2))
    End If

說明: 此函式先呼叫 B_GetUSBBufferLen() 取得 USB printer的資料長度, 然後再呼叫 
    B_GetUSBDeviceInfo() 取得 USB printer的相關資料。
    pDevicePath所儲存的資料是USB的裝置路徑, 可用在B_CreatePrn()及B_CreatePort()
    來開啟USB裝置。
    
*******************************************************************************
B_GetNetPrinterBufferLen()
B_EnumNetPrinter()
===============================================================================
功能: 取得 Net Printer 的裝置名稱及資料長度。

語法:
  VC:
    int B_GetNetPrinterBufferLen(void);
    int B_EnumNetPrinter(char *buf);
  VB: VBA:
    Declare Function B_GetNetPrinterBufferLen() As Long
    Declare Function B_EnumNetPrinter(ByVal buf As String) As Long
  VB.net:
    Declare Function B_GetNetPrinterBufferLen() As Integer
    Declare Function B_EnumNetPrinter(ByVal buf As Byte()) As Integer

參數:
    buf;
      儲存 Net Printer 資料。

傳回值:
    B_GetNetPrinterBufferLen();  傳回 Net Printer 的資料長度.
    B_EnumNetPrinter();  0 -> OK.
    Reference BW-Error.txt file.

範例:
  VC:
    char *pbuf;
    int nLen = B_GetNetPrinterBufferLen() + 1;
    if (nLen > 1) {
      pbuf = (char *)new char[nLen];
      B_EnumNetPrinter(pbuf);
    }
  VB: VBA:
    Dim nLen As Long
    Dim pbuf As String
    nLen = B_GetNetPrinterBufferLen() + 1
    If nLen > 1 Then
      pbuf = Space(128)
      Call B_EnumNetPrinter(pbuf)
    End If
  VB.net:
    Dim nLen As Integer
    Dim pbuf(128) As Byte
    nLen = B_GetNetPrinterBufferLen() + 1
    If nLen > 1 Then
      Call B_EnumNetPrinter(pbuf)
    End If

說明: 這兩個函數是一組的函數。先用 B_GetNetPrinterBufferLen() 取得 Net Printer
    的資料長度, 然後再配記憶體給 B_EnumNetPrinter() 儲存 Net Printer 的資料。
    Net Printer 的資料是以("0x0d0x0a")做分隔,舉例來說, 如果資料是 
    NetPrinter:192.168.1.2(0x0d)(0x0a)NetPrinter:192.168.1.25 的話表示 
    NetPrinter1 是接 NetPrinter:192.168.1.2, 
    NetPrinter2 是接 NetPrinter:192.168.1.25。

*******************************************************************************
B_CreatePrn()
 ===============================================================================
功能: 開啟 Printer 工作。

語法:
  VC:
    int B_CreatePrn(int selection, LPCTSTR filename);
  VB: VBA:
    Declare Function B_CreatePrn(ByVal selection As Long, _
      ByVal filename As String) As Long
  VB:
    Declare Function B_CreatePrn(ByVal selection As Integer, _
      ByVal filename As String) As Integer

參數:
    selection;
      選擇輸出埠或檔案。
      0 -> print to file.
      1 -> lpt1, 2 -> lpt2, 3 -> lpt3
      4 -> com1, 5 -> com2, 6 -> com3
      10 -> pipe, 11 -> USBXXX, 12 -> USB
      13 -> LAN Client(TCP/IP)
    filename;
      當 selection 是 0 時,資料則輸出至檔案,filename 為檔案名稱,可含路徑。
      當 selection 是 10 時,filename 為輸出路徑或機碼(裝置路徑)。
      當 selection 是 11 時,filename 指的是想開啟的USB之index, index由1開始;
      當 selection 是 12 時,filename 指的是想開啟的USB機碼(裝置路徑), 
      和nPort = 10的使用方法一樣
      當 selection 內容是 13 時, filename 指的是想開啟的IP Address, 使用TCP/IP去開啟; 
      預設的port值為9100, 若要指定port值, 如80, 則在IPAddress後加上字串":80".

傳回值:
    0 -> OK.
    Reference BW-Error.txt file.

範例:
  VC:
    B_CreatePrn(1, NULL); or B_CreatePrn(0, "C:\\out.prn");
    B_CreatePrn(10,"\\\\allen\\Label");  //share mode.
  VB: VBA: VB.net:
    Call B_CreatePrn(1, null) or Call B_CreatePrn(0, "C:\\out.prn")
    Call B_CreatePrn(10, "\\\\allen\\Label")

說明: B_CreatePrn() 函數會開啟你選擇的輸出埠或開啟你鍵入的輸出檔。
    而這個函數必須在所有函數之前執行。
    B_CreatePrn(), B_CreateUSBPort() , B_CreateNetPort() 和 B_CreatePort() 不能同時使用。

*******************************************************************************
B_CreatePort()
===============================================================================
功能: 開啟 Printer 工作。

語法:
  VC:
    int B_CreatePort(int nPortType, int nPort, LPCTSTR filename);
  VB: VBA:
    Declare Function B_CreatePort(ByVal nPortType As Long, ByVal nPort As Long, _
      ByVal filename As String) As Long
  VB.net:
    Declare Function B_CreatePort(ByVal nPortType As Integer, ByVal nPort As Integer, _
      ByVal filename As String) As Integer

參數:
    nPortType;
      選擇輸出埠種類。
      0 -> 檔案
      1 -> Serial port
      2 -> Parallel prot
      4 -> USB port
      5 -> LAN port
      6 -> USB port
    nPort;
      選擇輸出埠編號。
      當 nPortType 為 1 時, 1 -> com1, 2 -> com2,.....
    filename;
      當 nPortType 為 0 時,資料則輸出至檔案,filename 為檔案名稱,可含路徑。
      當 nPortType 為 4 時,filename 指的是想開啟的USB的index, index由1開始.
      當 nPortType 為 5 時,filename 指的是想開啟的IP Address, 使用TCP/IP, 
      port 9100去開啟.
      當 nPortType 為 6 時,filename 指的是想開啟的USB的裝置路徑.

傳回值:
    0 -> OK.
    Reference BW-Error.txt file.

範例:
  VC:
    B_CreatePort(1, 1, NULL)
    B_CreatePort(0, 0, "C:\\out.prn");
    B_CreatePort(5, 0, "192.168.1.3");
  VB: VBA: VB.net:
    Call B_CreatePort(1, 1, null)
    Call B_CreatePort(0, 0, "C:\\out.prn")
    Call B_CreatePort(5, 0, "192.168.1.3")

說明:  B_CreatePort() 函數會開啟你選擇的輸出埠或開啟你鍵入的輸出檔。
    而這個函數必須在所有函數之前執行。
    B_CreatePrn(), B_CreateUSBPort(), B_CreateNetPort() 和 B_CreatePort() 不能同時使用。

*******************************************************************************
B_CreateUSBPort()
B_CreateNetPort()
 ===============================================================================
功能: 開啟 Printer 工作。
       使用 B_CreateUSBPort() 前需先呼叫 B_GetUSBBufferLen(), 
       這是為了和 B_EnumUSB() 及 B_GetUSBDeviceInfo() 同步。
       使用 B_CreateNetPort() 前需先呼叫 B_GetNetPrinterBufferLen(), 
       這是為了和 B_EnumNetPrinter() 同步。

語法:
  VC:
    int B_CreateUSBPort(int nPort);
    int B_CreateNetPort(int nPort);
  VB: VBA:
    Declare Function B_CreateUSBPort(ByVal nPort As Long) As Long
    Declare Function B_CreateNetPort(ByVal nPort As Long) As Long
  VB:
    Declare Function B_CreateUSBPort(ByVal nPort As Integer) As Integer
    Declare Function B_CreateNetPort(ByVal nPort As Integer) As Integer

參數:
    nPort;
      USB 傳輸埠 ; LAN 傳輸埠, nPort由1開始.

傳回值:
    0 -> OK.
    Reference BW-Error.txt file.

範例:
  VC:
    int nLen;
    nLen = B_GetUSBBufferLen();
    if (nLen) {
      B_CreateUSBPort(1);
    }
    nLen = B_GetNetPrinterBufferLen();
    if (nLen) {
      B_CreateNetPort(1);
    }
  VB: VBA: VB.net:
    Dim nLen As Long
    nLen = B_GetUSBBufferLen()
    If nLen Then
      Call B_CreateUSBPort(1)
    End If
    nLen = B_GetNetPrinterBufferLen()
    If nLen Then
      Call B_CreateNetPort(1)
    End If

說明: B_CreateUSBPort() 和 B_CreateNetPort()函數會開啟你選擇的輸出埠或
    開啟你鍵入的輸出檔。而這個函數必須在所有函數之前執行。
    B_CreatePrn(), B_CreateUSBPort() , B_CreateNetPort() 和 B_CreatePort() 不能同時使用。

*******************************************************************************
B_ClosePrn()
===============================================================================
功能:  關閉 Printer 工作。

語法:
  VC:
    void B_ClosePrn(void);
  VB: VBA: VB.net:
    Declare Sub B_ClosePrn()

範例:
  VC:
    B_ClosePrn();
  VB: VBA: VB.net:
    Call B_ClosePrn()
  
說明:  這個 B_ClosePrn 函數會關閉執行過的記憶體及你選擇的輸出埠或關閉你開啟的
    輸出檔。而這個函數必須在所有函數之後執行。
  
*******************************************************************************
B_Bar2d_Maxi()
===============================================================================
功能:  印出一個 Maxi Code 2D Barcode。

語法:
  VC:
    int B_Bar2d_Maxi(int x, int y, int cl, int cc, int pc, LPCTSTR data);
  VB: VBA:
    Declare Function B_Bar2d_Maxi(ByVal x As Long, ByVal y As Long, ByVal cl As Long, _
      ByVal cc As Long, ByVal pc As Long, ByVal data As String) As Long
  VB.net:
    Declare Function B_Bar2d_Maxi(ByVal x As Integer, ByVal y As Integer, _
      ByVal cl As Integer, ByVal cc As Integer, ByVal pc As Integer, _
      ByVal data As String) As Integer

參數:
    x;
      X 座標。
    y;
      Y 座標。
    cl;
      A 3-位數 Class code。
    cc;
      A 3-位數 Country code。
    pc;
      在美國 Post code 是一個4或5-位數,其他國家是 6 位數。
    data;
      資料字串,最多84個字元。

傳回值:
    0 -> OK.
    Reference BW-Error.txt file.

範例:
  VC:
    B_Bar2d_Maxi(50, 50, 300, 400, 93065, "This MaxiCode");
  VB: VBA: VB.net:
    Call B_Bar2d_Maxi(50, 50, 300, 400, 93065, "This MaxiCode")

說明:  這個 B_Bar2d_Maxi 函數可以列印出一個 Maxi Code 2D Barcode。

*******************************************************************************
B_Bar2d_PDF417()
===============================================================================
功能:  印出一個 PDF-417 2D Barcode。

語法:
  VC:
    int B_Bar2d_PDF417(int x, int y, int w, int v, int s, int c, int px, int py, 
      int r, int l, int t, int o, LPCTSTR data);
  VB: VBA:
    Declare Function B_Bar2d_PDF417(ByVal x As Long, ByVal y As Long, ByVal w As Long, _
      ByVal v As Long, ByVal s As Long, ByVal c As Long, ByVal px As Long, _
      ByVal py As Long, ByVal r As Long, ByVal l As Long, ByVal t As Long, _
      ByVal o As Long, ByVal data As String) As Long
  VB.net:
    Declare Function B_Bar2d_PDF417(ByVal x As Integer, ByVal y As Integer, _
      ByVal w As Integer, ByVal v As Integer, ByVal s As Integer, ByVal c As Integer, _
      ByVal px As Integer, ByVal py As Integer, ByVal r As Integer, ByVal l As Integer, _
      ByVal t As Integer, ByVal o As Integer, ByVal data As String) As Integer

參數:
    x;
      X 座標。
    y;
      Y 座標。(1 dot = 0.125 mm)
    w;
      最大列印寬度,單位 dots。
    v;
      最大列印高度,單位 dots。
    s;
      錯誤校正等級,範圍:0~8。
    c;
      資料壓縮等級,範圍:0 或 1。
    px;
      模組寬度,範圍:2~9 dots。
    py;
      模組高度,範圍:4~99 dots。
    r;
      最大 row count。
    l;
      最大 column count。
    t;
      Truncation flag,'0' 是 normal 和 '1' 是 truncated.
    o;
      列印方向定位,'0'是 0°,'1'是90°、'2'是180°,'3'是270°
    data;
      資料字串。

傳回值:
    0    -> OK.
    Reference BW-Error.txt file.

範例:
  VC:
    B_Bar2d_PDF417(10, 10, 400, 300, 0, 0, 3, 7, 10, 2, 0, 0, "ARGOXINFO");
  VB: VBA: VB.net:
    Call B_Bar2d_PDF417(10, 10, 400, 300, 0, 0, 3, 7, 10, 2, 0, 0, "ARGOXINFO")

說明:  這個 B_Bar2d_PDF417 函數可以列印出一個 PDF-417 2D Barcode。

*******************************************************************************
B_Bar2d_DataMatrix()
===============================================================================
功能:  印出一個 Data Matrix code。

語法:
  VC:
    int B_Bar2d_DataMatrix(int x, int y, int r, int l, int h, int v, LPCTSTR data);
  VB: VBA:
    Declare Function B_Bar2d_DataMatrix(ByVal x As Long, ByVal y As Long, ByVal r As Long, _
      ByVal l As Long, ByVal h As Long, ByVal v As Long, ByVal data As String) As Long
  VB.net:
    Declare Function B_Bar2d_DataMatrix(ByVal x As Integer, ByVal y As Integer, _
      ByVal r As Integer, ByVal l As Integer, ByVal h As Integer, _
      ByVal v As Integer, ByVal data As String) As Integer

參數:
    x;
      X 座標。
    y;
      Y 座標。
    r;
      row count(範圍:9~49, 必須為偶數值; 0為自動)。
    l;
      column count(範圍:9~49, 必須為偶數值; 0為自動)。
    h;
      模組高度,範圍:1~40 dots。
    v;
      反轉條碼的影像。0 -> FALSE、1 -> TRUE。
    data;
      資料字串。

傳回值:
    0    -> OK.
    Reference BW-Error.txt file.

範例:
  VC:
    B_Bar2d_DataMatrix(10, 10, 0, 0, 5, 0, "DataMatrix");
  VB: VBA: VB.net:
    Call B_Bar2d_DataMatrix(10, 10, 0, 0, 5, 0, "DataMatrix")

說明:  這個 B_Bar2d_DataMatrix 函數可以列印出一個 Data Matrix code。

*******************************************************************************
B_Del_Form()
===============================================================================
功能:  刪除 Form (表格)。

語法:
  VC:
    int B_Del_Form(char formname[10]);
  VB: VBA:
    Declare Function B_Del_Form(ByVal formname As String) As Long
  VB.net:
    Declare Function B_Del_Form(ByVal formname As String) As Integer

參數:
    formname;
      表格名稱,最多 9 個字。
      當 formname 內容是 '*'時將會清除印表機內所有表格。

傳回值:
    0 -> OK.
    Reference BW-Error.txt file.

範例:
  VC:
    B_Del_Form("demo");
  VB: VBA: VB.net:
    Call B_Del_Form("demo")

說明:  這個 B_Del_Form 函數會刪除印表機內,你輸入的 Form (表格)名稱。當
    你刪除它後,將不能再還原,但可以重新載入。

*******************************************************************************
B_Del_Pcx()
===============================================================================
功能:  刪除儲存於RAM或Flash中的圖形。

語法:
  VC:
    int B_Del_Pcx(char pcxname[10]);
  VB: VBA:
    Declare Function B_Del_Pcx(ByVal pcxname As String) As Long
  VB.net:
    Declare Function B_Del_Pcx(ByVal pcxname As String) As Integer

參數:
    pcxname;
      圖形名稱,最多 9 個字。
      當 pcxname 內容是 '*'時將會清除印表機內 RAM 或 flash memory 所有圖形。

傳回值:
    0 -> OK.
    Reference BW-Error.txt file.

範例:
  VC:
    B_Del_Pcx("*");
  VB: VBA: VB.net:
    Call B_Del_Pcx("*")

說明:  這個 B_Del_Pcx 函數會刪除印表機內,你輸入的圖形名稱。當你刪除它後,
    將不能再還原,但可以重新載入。

*******************************************************************************
B_Draw_Box()
===============================================================================
功能:  畫一個框。

語法:
  VC:
    int B_Draw_Box(int x, int y, int thickness, int hor_dots, int ver_dots);
  VB: VBA:
    Declare Function B_Draw_Box(ByVal x As Long, ByVal y As Long, _
      ByVal thickness As Long, ByVal hor_dots As Long, ByVal ver_dots As Long) As Long
  VB.net:
    Declare Function B_Draw_Box(ByVal x As Integer, ByVal y As Integer, _
      ByVal thickness As Integer, ByVal hor_dots As Integer, _
      ByVal ver_dots As Integer) As Integer

參數:
    x;
      起點 X 座標。
    y;
      起點 Y 座標。(1 dot = 0.125 mm)
    thickness;
      指定框四邊邊線厚度。
    hor_dots; 
      對角點 X 座標。
    ver_dots;
      對角點 Y 座標。

傳回值:
    0 -> OK.
    Reference BW-Error.txt file.

範例:
  VC:
    B_Draw_Box(50, 120, 5, 250, 150);
  VB: VBA: VB.net:
    Call B_Draw_Box(50, 120, 5, 250, 150)

說明:  這個 B_Draw_Box 函數會畫一個屬性是 "OR" 的框。

*******************************************************************************
B_Draw_Line()
===============================================================================
功能:  畫一條線。

語法:
  VC:
    int B_Draw_Line(char mode, int x, int y, int hor_dots, int ver_dots);
  VB: VBA:
    Declare Function B_Draw_Line(ByVal mode As Byte, ByVal x As Long, ByVal y As Long, _
      ByVal hor_dots As Long, ByVal ver_dots As Long) As Long
  VB.net:
    Declare Function B_Draw_Line(ByVal mode As Byte, ByVal x As Integer, _
      ByVal y As Integer, ByVal hor_dots As Integer, ByVal ver_dots As Integer) As Integer

參數:
    mode;
      選擇線條種類,如下表:
      +------+----------------------------+
      | mode | 線條種類.                  |
      +------+----------------------------+
      |   E  | Exclusive OR               |
      +------+----------------------------+
      |   O  | OR                         |
      +------+----------------------------+
      |   W  | 白線,它會蓋掉先前影像     |
      +------+----------------------------+
    x;
      起點 X 座標。
    y;
      起點 Y 座標。(1 dot = 0.125 mm)
    width;
      水平長度。
    height;
      垂直長度。

傳回值:
    0 -> OK.
    Reference BW-Error.txt file.

範例:
  VC:
    B_Draw_Line('O', 50, 30, 100, 10);
  VB: VBA: VB.net:
    Call B_Draw_Line(Asc("O"), 50, 30, 100, 10)

說明:  這個 Draw_Line 函數會畫一個屬性是"OR"或"XOR"的線條及一條白線。

*******************************************************************************
B_Error_Reporting()
===============================================================================
功能:  開啟或關閉錯誤回傳功能。

語法:
  VC:
    int B_Error_Reporting(char option);
  VB: VBA:
    Declare Function B_Error_Reporting(ByVal options As Byte) As Long
  VB.net:
    Declare Function B_Error_Reporting(ByVal options As Byte) As Integer

參數:
    option;
      當 option 是'N'時 Disable 狀態回饋。
      'S' 是 Enable 狀態回饋。

傳回值:
    0 -> OK.
    Reference BW-Error.txt file.

範例:
  VC:
    B_Error_Reporting('S');
  VB: VBA: VB.net:
    Call B_Error_Reporting(Asc("S"))

說明:  這個 B_Error_Reporting 函數會使印表機狀態回饋 Disable/Enable,這回
    饋通道是透過 RS232 Port。預定值是 Disable。

*******************************************************************************
B_Get_DLL_Version()
B_Get_DLL_VersionA()
===============================================================================
功能:  取得或秀出此函數庫版本資訊。

語法:
  VC:
    char* B_Get_DLL_Version(int nShowMessage);
    int B_Get_DLL_VersionA(int nShowMessage);
  VB: VBA:
    Declare Function B_Get_DLL_Version(ByVal nShowMessage As Long) As Long
    Declare Function B_Get_DLL_VersionA(ByVal nShowMessage As Long) As Long
  VB.net:
    Declare Function B_Get_DLL_Version(ByVal nShowMessage As Integer) As String
    Declare Function B_Get_DLL_VersionA(ByVal nShowMessage As Integer) As Integer

參數:
    nShowMessage;
      0 -> 訊息視窗不顯現。
      1 -> 訊息視窗顯現。

傳回值:
    B_Get_DLL_Version();  傳回版本資訊字串,失敗則傳回 NULL。
    B_Get_DLL_VersionA();  return version value.
                           主版號 = (return version value) / 100.
                           子版號 = (return version value) % 100.

範例:
  VC:
    int nVersion, nMainVersion, nSubVersion;
    nVersion = B_Get_DLL_VersionA(1);
    nMainVersion = nVersion / 100;
    nSubVersion = nVersion % 100;
  VB: VBA:
    Dim nVersion, nMainVersion, nSubVersion As Long
    nVersion = B_Get_DLL_VersionA(1)
    nMainVersion = Int(nVersion / 100)
    nSubVersion = nVersion Mod 100
  VB.net:
    Dim nVersion, nMainVersion, nSubVersion As Integer
    nVersion = B_Get_DLL_VersionA(1)
    nMainVersion = nVersion / 100
    nSubVersion = nVersion Mod 100

說明:  這個 B_Get_DLL_Version 函數,讓使用者取得或秀出此函數庫版本資訊。
    由於 B_Get_DLL_Version() 是回傳字串, 在 VB 和 VBA 的開發上, 需要使用 
    RtlMoveMemory() 去轉換然後才能取得, 此函式在使用上有技術上的難度, 
    因此 VB 和 VBA 的開發建議不要使用此函式, 請改用 B_Get_DLL_VersionA(), 
    若一定要使用 B_Get_DLL_Version(), 請參考 MSDN.
    
*******************************************************************************
B_Get_Graphic_ColorBMP()
B_Get_Graphic_ColorBMPEx()
B_Get_Graphic_ColorBMP_HBitmap()
===============================================================================
功能:  將 BMP 圖檔轉換成灰階模式,並將圖形儲存在印表機內的 RAM。

語法:
  VC:
    int B_Get_Graphic_ColorBMP(int x, int y, LPCTSTR filename);
    int B_Get_Graphic_ColorBMPEx(int x, int y, int nWidth, int nHeight,
      int rotate, LPCTSTR id_name, LPCTSTR filename);
    int B_Get_Graphic_ColorBMP_HBitmap(int x, int y, int nWidth, int nHeight,
      int rotate, LPCTSTR id_name, HBITMAP hbm);    
  VB: VBA:
    Declare Function B_Get_Graphic_ColorBMP(ByVal x As Long, ByVal y As Long, _
      ByVal filename As String) As Long
    Declare Function B_Get_Graphic_ColorBMPEx(ByVal x As Long, _
      ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, _
      ByVal rotate As Long, ByVal id_name As String, ByVal filename As String) As Long
    Declare Function B_Get_Graphic_ColorBMP_HBitmap(ByVal x As Long, _
      ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, _
      ByVal rotate As Long, ByVal id_name As String, ByVal hbm As Long) As Long
  VB.net:
    Declare Function B_Get_Graphic_ColorBMP(ByVal x As Integer, ByVal y As Integer, _
      ByVal filename As String) As Integer
    Declare Function B_Get_Graphic_ColorBMPEx(ByVal x As Integer, _
      ByVal y As Integer, ByVal nWidth As Integer, ByVal nHeight As Integer, _
      ByVal rotate As Integer, ByVal id_name As String, ByVal filename As String) As Integer
    Declare Function B_Get_Graphic_ColorBMP_HBitmap(ByVal x As Integer, _
      ByVal y As Integer, ByVal nWidth As Integer, ByVal nHeight As Integer, _
      ByVal rotate As Integer, ByVal id_name As String, ByVal hbm As Integer) As Integer

參數:
    x;
      X 座標。
    y;
      Y 座標。
    nWidth;
      此參數表示原圖縮放後的圖形寬度,0表示使用原圖寬度。
    nHeight;
      此參數表示原圖縮放後的圖形高度,0表示使用原圖高度。
    rotate;
      此參數表示圖形縮放後旋轉的方向,'0'是 0°,'1'是90°、'2'是180°,'3'是270°。
    id_name;
      給予一個識別名稱存放於印表機內,以後直接使用 B_Load_Pcx() 即可將舊圖呼叫出來。
    filename;
      圖形檔名稱,可包含路徑。
      格式如:XXXXXXXX.XXX 或 X:\\XXX\\XXX.XXX
    hbm;
      GDI 的 HBITMAP HANDLE, 只支援 IMAGE_BITMAP 格式。
    
傳回值:
    0 -> OK.
    Reference BW-Error.txt file.

範例:
  VC:
    B_Get_Graphic_ColorBMP(30, 20, "bb.bmp");
    B_Get_Graphic_ColorBMPEx(30, 20, 200, 150, 2, "bb1", "bb.bmp");//180 angle.
    HANDLE himage = LoadImage(NULL,"bb.bmp",IMAGE_BITMAP,0,0,LR_LOADFROMFILE);
    B_Get_Graphic_ColorBMP_HBitmap(30, 20, 250, 80, 1, "bb2", (HBITMAP)himage);//90 angle.      
  VB: VBA:
    Const IMAGE_BITMAP = 0
    Const LR_LOADFROMFILE = &H10
    Private Declare Function LoadImage Lib "user32" Alias "LoadImageA" (ByVal hInst As Long, _
            ByVal lpsz As String, ByVal un1 As Long, ByVal n1 As Long, ByVal n2 As Long, _
            ByVal un2 As Long) As Long
    Private Declare Function DeleteObject Lib "Gdi32" (ByVal ho As Long) As Long
    
    Call B_Get_Graphic_ColorBMP(30, 20, "bb.bmp")
    Call B_Get_Graphic_ColorBMPEx(30, 20, 200, 150, 2, "bb1", "bb.bmp") ' 180 angle.
    Dim himage As Long
    himage = LoadImage(0, "bb.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE)
    Call B_Get_Graphic_ColorBMP_HBitmap(30, 20, 250, 80, 1, "bb2", himage) ' 90 angle.
    If himage Then
        Call DeleteObject(himage)
    End If
  VB.net:
    Const IMAGE_BITMAP = 0
    Const LR_LOADFROMFILE = &H10
    Private Declare Function LoadImage Lib "user32" Alias "LoadImageA" (ByVal hInst As Integer, _
            ByVal lpsz As String, ByVal un1 As Integer, ByVal n1 As Integer, ByVal n2 As Integer, _
            ByVal un2 As Integer) As Integer
  
    Call B_Get_Graphic_ColorBMP(30, 20, "bb.bmp")
    Call B_Get_Graphic_ColorBMPEx(30, 20, 200, 150, 2, "bb1", "bb.bmp") ' 180 angle.
    Dim himage As Integer
    himage = LoadImage(0, "bb.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE)
    Call B_Get_Graphic_ColorBMP_HBitmap(30, 20, 250, 80, 1, "bb2", himage) ' 90 angle. 

說明:  這個 B_Get_Graphic_ColorBMP() 函數可輸入任何位元數的 BMP 圖檔,並自動轉換
    為黑白灰階圖檔送至印表機列印。
    B_Get_Graphic_ColorBMPEx() 和 B_Get_Graphic_ColorBMP_HBitmap() 函式可做放大,
    縮小及旋轉的功能,分別可利用檔名及 GDI 的 HBITMAP HANDLE 當資料來源。

*******************************************************************************
B_Get_Pcx()
===============================================================================
功能:  列印一個圖形並將圖形儲存在印表機內的 Memory。

語法:
  VC:
    int B_Get_Pcx(int x, int y, LPCTSTR filename);
  VB: VBA:
    Declare Function B_Get_Pcx(ByVal x As Long, ByVal y As Long, _
      ByVal filename As String) As Integer
  VB.net:
    Declare Function B_Get_Pcx(ByVal x As Integer, ByVal y As Integer, _
      ByVal filename As String) As Integer

參數:
    x;
      X 座標。
    y;
      Y 座標。(1 dot = 0.125 mm)
    filename;
      圖形檔名稱,可含路徑。
      格式如:XXXXXXXX.XXX 或 X:\\XXX\\XXX.XXX

傳回值:
    0 -> OK.
    Reference BW-Error.txt file.

範例:
  VC:
    B_Get_Pcx(10,100,"phone.pcx");
  VB: VBA: VB.net:
    Call B_Get_Pcx(50, 30, "phone.pcx")

說明:  這個 B_Get_Pcx 函數會列印一個圖形並將圖形儲存在印表機內的 RAM 或
    flash memory。圖形檔必須是 PCX 的格式。

*******************************************************************************
B_Initial_Setting()
===============================================================================
功能:  前置處理。

語法:
  VC:
    int B_Initial_Setting(int Type, LPCTSTR Source);
  VB:
    Declare Function B_Initial_Setting(ByVal Type As Long, _
      ByVal Source As String) As Long
  VB:
    Declare Function B_Initial_Setting(ByVal Type As Integer, _
      ByVal Source As String) As Integer

參數:
    Type;
      選擇輸入模式。
      0 -> 輸入字串,1 -> 輸入檔案。
    Source;
      資料來源,可為字串或檔案名稱,可含路徑。

傳回值:
    0 -> OK.
    Reference BW-Error.txt file.

範例:
  VC:
    LPCTSTR aa = "ZT\r\n";
    B_Initial_Setting(0, aa);
      or
    B_Initial_Setting(1, "initfile.txt");
  VB: VBA: VB.net:
    Dim aa As String
    aa = "ZT" + Chr(13) + Chr(10)
    Call B_Initial_Setting(0, aa)
      or
    Call B_Initial_Setting(1, "initfile.txt")

說明:  這個 B_Initial_Setting 函數前置處理的動作,是將一串 Command 先送至印表
    機,由字串或檔案輸入,在使用這個函數時,須先在 B_Create_Prn() 之後其他
    函數之前,可作為使用者自訂型態。

*******************************************************************************
B_WriteData()
===============================================================================
功能:  用來立即將資料傳送出或暫時寫入暫存區中。

語法:
  VC:
    int B_WriteData(int IsImmediate, LPCTSTR pbuf, DWORD length);
  VB: VBA:
    Declare Function B_WriteData(ByVal IsImmediate As Long, _
      ByVal pbuf As String, ByVal length As Long) As Long  
  VB.net:
    Declare Function B_WriteData(ByVal IsImmediate As Integer, _
      ByVal pbuf As Byte(), ByVal length As ULong) As Integer

參數:
    IsImmediate;
      1為立即傳送, 只傳pbuf中的內容至輸出埠; 
      0為將資料加到暫存區後, 等呼叫B_Print_Out()時才傳送。
    pbuf;
      要傳送的資料指標。
    length;
      pbuf的資料長度。

傳回值:
    0 -> OK.
    Reference BW-Error.txt file.

範例:
  VC:
    const char sznop1[] = "nop_front\r\n";
    const char sznop2[] = "nop_middle\r\n";
    B_WriteData(0, sznop2, (DWORD)strlen(sznop2));
    B_WriteData(1, sznop1, (DWORD)strlen(sznop1));
  VB: VBA:
    Dim sznop1 As String = "nop_front" + vbCrLf
    Dim sznop2 As String = "nop_middle" + vbCrLf
    Call B_WriteData(0, sznop2, Len(sznop2))
    Call B_WriteData(1, sznop1, Len(sznop1))  
  VB.net:
    Dim encAscII = System.Text.Encoding.ASCII
    Dim sznop1 As String = "nop_front" + vbCrLf
    Dim sznop2 As String = "nop_middle" + vbCrLf
    Call B_WriteData(0, encAscII.GetBytes(sznop2), sznop2.Length)
    Call B_WriteData(1, encAscII.GetBytes(sznop1), sznop1.Length)

說明:  此函式用來將使用者想要對印表機下達的控制指令或任何列印資料, 皆可利用此
    函式來完成。

*******************************************************************************
B_ReadData()
===============================================================================
功能:  取得印表機中的資料。

語法:
  VC:
    int B_ReadData(LPTSTR pbuf, DWORD length, DWORD dwTimeoutms);
  VB: VBA:
    Declare Function B_ReadData(ByVal pbuf As String, ByVal length As Long, _
      ByVal dwTimeoutms As Long) As Long
  VB.net:
    Declare Function B_ReadData(ByVal pbuf As Byte(), ByVal length As ULong, _
      ByVal dwTimeoutms As ULong) As Integer

參數:
    pbuf;
      要接收回傳資料的指標。如果它是空指標, 則不填資料。
    length;
      要讀取的資料大小。
    dwTimeoutms;
      計數時間, 也就是讀取資料最長的時間, 單位為ms。

傳回值:
    已讀取的資料大小。

範例:
  VC:
    int ret;
    char temp[10]={0};
    B_WriteData(1, "^ee\r\n", 5);//^ee
    ret = B_ReadData(temp, 4, 1000);//1 second.
  VB: VBA:
    Dim ret As Integer
    Dim temp As String
    temp = Space(10)
    temp = "^ee\r\n"
    B_WriteData(1, temp, 5)   '^ee
    ret = B_ReadData(pbuf, 4, 1000)   '1 second.
  VB.net:
    Dim ret As Integer
    Dim temp(10) As Byte
    B_WriteData(1, encAscII.GetBytes("^ee\r\n"), 5)   '^ee
    ret = B_ReadData(pbuf, 4, 1000)   '1 second.

說明:  此函式用來讀取印表機的回傳資料, 所以請注意使用的通訊埠是否有資料回傳的
    能力。請和B_WriteData() 函數配合使用, 並參考"Argox programmer's manual"。

*******************************************************************************
B_Load_Pcx()
===============================================================================
功能:  列印一個圖形。

語法:
  VC:
    int B_Load_Pcx(int x, int y, char pcxname[10]);
  VB: VBA:
    Declare Function B_Load_Pcx(ByVal x As Long, ByVal y As Long, _
      ByVal pcxname As String) As Long
  VB.net:
    Declare Function B_Load_Pcx(ByVal x As Integer, ByVal y As Integer, _
      ByVal pcxname As String) As Integer

參數:
    x;
      X 座標。
    y;
      Y 座標。備註:1 dot = 0.125 mm。
    pcxname;
      圖形檔名稱最大9個字元。

傳回值:
    0 -> OK.
    Reference BW-Error.txt file.

範例:
  VC:
    B_Load_Pcx(50, 30, "phone");
  VB: VBA: VB.net:
    Call B_Load_Pcx(50, 30, "phone")

說明:  這個 B_Load_Pcx 函數會列印一個 PCX 格式圖形,而圖形必須事先載入印表
    機內的 RAM 或 flash memory 儲存。

*******************************************************************************
B_Open_ChineseFont()
===============================================================================
功能:  開啟使用中文點矩陣字型檔案 (16*15 和 24*24)。

語法:
  VC:
    int B_Open_ChineseFont(char* path);
  VB: VBA:
    Declare Function B_Open_ChineseFont(ByVal path As String) As Long
  VB:
    Declare Function B_Open_ChineseFont(ByVal path As String) As Integer

參數:
    path;
      中文點矩陣字型檔案來源路徑。

傳回值:
    0 -> OK.
    Reference BW-Error.txt file.

範例:
  VC:
    B_Open_ChineseFont("C:\\ET3");
  VB: VBA: VB.net:
    Call B_Open_ChineseFont("C:\\ET3")

說明:  這個 B_Open_ChineseFont 函數開啟中文點矩陣字型檔案 (16*15 和 24*24),
    供 B_Prn_Text_Chinese 函數使用。

*******************************************************************************
B_Print_Form()
===============================================================================
功能:  列印一個 FORM (表格),並輸入 FORM 所有變數、計數資料。

語法:
  VC:
    int B_Print_Form(int labset, int copies, char form_out[10], LPTSTR var);
  VB: VBA:
    Declare Function B_Print_Form(ByVal labset As Long, ByVal copies As Long, _
      ByVal form_out As String, ByVal var As String) As Long
  VB.net:
    Declare Function B_Print_Form(ByVal labset As Integer, ByVal copies As Integer, _
      ByVal form_out As String, ByVal var As String) As Integer

參數:
    labset;
      列印的份數,範圍:1~32767。
    copies;
      複製的份數,範圍:1~32767。
    form_out;
      表格名稱,同於之前載入的 FORM 名稱,或原先儲存在印表機內的 FORM。
    var;
      輸入 FORM 所有變數、計數資料,用 ","依序分別區隔開。如果變數裡有","號,
      可用";,"來代表逗號。

傳回值:
    0 -> OK.
    Reference BW-Error.txt file.

範例:
  VC:
    B_Print_form(3, 2, "demo", "2000,Bicycle");
  VB: VBA: VB.net:
    Call B_Print_form(3, 2, "demo", "2000,Bicycle")

說明:  這個 B_Print_Form 函數會送所有資料及表格到 Printer,這個函數使用前
    須先執行 B_Set_Form(),並在所有函數之後,B_ClosePrn() 之前執行。當使
    用此函數時,就不須執行 B_Print_Out()。

*******************************************************************************
B_Print_MCopy()
===============================================================================
功能:  列印所有資料和加上跳號複製功能。

語法:
  VC:
    int B_Print_MCopy(int labset, int copies);
  VB: VBA:
    Declare Function B_Print_MCopy(ByVal labset As Long, _
      ByVal copies As Long) As Long
  VB.net:
    Declare Function B_Print_MCopy(ByVal labset As Integer, _
      ByVal copies As Integer) As Integer

參數:
    labset;
      列印的份數,1 ~ 32767。
    copies;
      複製的份數,1 ~ 32767。
      當為 1 時同等於Print_Out()功能。

傳回值:
    0-> OK.
    Reference BW-Error.txt file.

範例:
  VC:
    B_Print_MCopy(2, 2);
  VB: VBA: VB.net:
    Call B_Print_MCopy(2, 2)

說明:  這個 B_Print_MCopy 函數會送所有資料到 Printer,這個函數須在所有函數之後,
    B_ClosePrn() 之前執行,當使用此函數時,就不須執行 B_Print_Out()。
    它包含 B_Print_Out() 所有功能。

*******************************************************************************
B_Print_Out()
===============================================================================
功能:  列印所有資料。

語法:
  VC:
    int B_Print_Out(int labset);
  VB: VBA:
    Declare Function B_Print_Out(ByVal labset As Long) As Long
  VB.net:
    Declare Function B_Print_Out(ByVal labset As Integer) As Integer

參數:
    labset;
      列印的份數。

傳回值:
    0 -> OK.
    Reference BW-Error.txt file.

範例:
  VC:
    B_Print_Out(1);
  VB: VBA: VB.net:
    Call B_Print_Out(1)

說明:  這個 B_Print_Out 函數會送所有資料到 Printer,這個函數須在所有函數之後,
    B_ClosePrn() 之前執行。

*******************************************************************************
B_Prn_Barcode()
===============================================================================
功能:  印出一個條碼和加上跳號功能。

語法:
  VC:
    int B_Prn_Barcode(int x, int y, int ori, char type[4], int n, int w, int height,
      char human, LPCTSTR data);
  VB: VBA:
    Declare Function B_Prn_Barcode(ByVal x As Long, ByVal y As Long, ByVal ori As Long, _
      ByVal TType As String, ByVal narrow As Long, ByVal width As Long, _
      ByVal height As Long, ByVal human As Byte, ByVal data As String) As Long
  VB.net:
    Declare Function B_Prn_Barcode(ByVal x As Integer, ByVal y As Integer, _
      ByVal ori As Integer, ByVal TType As String, ByVal narrow As Integer, _
      ByVal width As Integer, ByVal height As Integer, ByVal human As Byte, _
      ByVal data As String) As Integer

參數:
    x;
      X 座標。
    y;
      Y 座標。
    ori;
      列印方向定位,'0'是 0°,'1'是90°、'2'是180°,'3'是270°
    type;
      條碼型式、如下表:
      +========================================================================+
      | type|          條碼總類           | type|           條碼總類           |
      +========================================================================+
      |  0  | Code 128 UCC (shipping cont-|  E80| EAN-8                        |  
      |     | ainer code)                 +-----+------------------------------+
      +-----+-----------------------------+  E82| EAN-8 2 digit add-on         |
      |  1  | Code 128 subset A,B and C   +-----+------------------------------+
      +-----+-----------------------------+  E85| EAN-8 5 digit add-on         |
      |  1E | UCC/EAN                     +-----+------------------------------+
      +-----+-----------------------------+  K  | Codabar                      |
      |  2  | Interleaved 2 of 5          +-----+------------------------------+
      +-----+-----------------------------+  P  | Postnet                      |
      |  2C | Interleaved 2 of 5 with che-+-----+------------------------------+
      |     | ck sum digit                |  UA0| UPC-A                        |
      +-----+-----------------------------+-----+------------------------------+
      |  2D | Interleaved 2 of 5 with hum-|  UA2| UPC-A 2 digit add-on         |
      |     | an readable check digit     +-----+------------------------------+
      +-----+-----------------------------+  UA5| UPC-A 5 digit add-on         |
      |  2G | German Postcode             +-----+------------------------------+
      +-----+-----------------------------+  UE0| UPC-E                        |
      |  2M | Matrix 2 of 5               +-----+------------------------------+
      +-----+-----------------------------+  UE2| UPC-E 2 digit add-on         |
      |  2U | UPC Interleaved 2 of 5      +-----+------------------------------+
      +-----+-----------------------------+  UE5| UPC-E 5 digit add-on         |
      |  3  | Code 3 of 9                 +-----+------------------------------+
      +-----+-----------------------------+  R14|RSS-14                        |
      |  3C | Code 3 of 9 with check sum  +-----+------------------------------+
      |     | digit                       |  RL |RSS Limited                   |
      +-----+-----------------------------+-----+------------------------------+
      |  9  | Code 93                     |  RS |RSS Stacked                   | 
      +-----+-----------------------------+-----+------------------------------+
      |  E30| EAN-13                      |  RT |RSS Truncated                 |
      +-----+-----------------------------+-----+------------------------------+
      |  E32| EAN-13 2 digit add-on       |  RSO|RSS Stacked Omnidirectiona    |
      +-----+-----------------------------+-----+------------------------------+
      |  E35| EAN-13 5 digit add-on       |  REX|RSS Expanded                  |
      +-----+-----------------------------+-----+------------------------------+
    n;
      NARROW bar 寬度在最小單位,
      若是RSS條碼,則此參數為條碼寬度的倍數,範圍為1~10,預設值為1。
    w;
      WIDE bar 寬度在最小單位,
      若是RSS條碼,則此參數為每列條碼可包含的最大資料區塊數量,只在使用RSS Expanded條碼時
      有效,在其它類型的RSS條碼中則為無效參數,範圍為2~22,預設值為22,且此值必需為偶數。
    height;
      條碼高度。
      RSS條碼的標準的最小高度限制:
      R14 -> 33 pixels
      RL  -> 10 pixels
      RS  -> 13 pixels
      RT  -> 13 pixels
      RSO -> 69 pixels
      REX -> 34 pixels
    human;
      當 human 是'N'時,則不列印文字,當 human 是'B'時,則列印可讀文字。
    data;
      資料字串,於資料末端加上<Operation Number>,則可有跳號功能,
      Operation: + or - 記號,Number: 0 ~ 32768 數值。
      若在RSS需要加上2D(composite symbol)的資料時, 需加上'|'符號, 如1234567890123|123.
      RSS條碼的最大數值限制:
      R14 -> 9999999999999
      RL  -> 1999999999999
      RS  -> 9999999999999
      RT  -> 9999999999999
      RSO -> 9999999999999
      REX -> 74 digits

傳回值:
    0 -> OK.
    Reference BW-Error.txt file.

範例:
  VC:
    B_Prn_Barcode(650, 15, 0, "E80", 2, 2, 51, 'B', "1234567"); // no counter
      or
    B_Prn_Barcode(650, 15, 0, "E80", 2, 2, 51, 'B', "1234567<+10>");//have a counter
      or 
    B_Prn_Barcode(650, 15, 0, "R14", 2, 0, 33, 'B', "1234567890123|R14"); DataBar + CS
  VB: VBA: VB.net:
    Call B_Prn_Barcode(650, 15, 0, "E80", 2, 2, 51, Asc("B"), "1234567") 
      'no counter
      or
    Call B_Prn_Barcode(650, 15, 0, "E80", 2, 2, 51, Asc("B"), "1234567<+10>") 
      'have a counter
      or 
    Call B_Prn_Barcode(650, 15, 0, "R14", 2, 0, 33, Asc("B"), "1234567890123|R14") 
      'DataBar + CS

說明:  這個 B_Prn_Barcode 函數可以列印出一個特定 Barcode 和加上跳號功能。

*******************************************************************************
B_Prn_Configuration()
===============================================================================
功能:  列印印表機內部配置。

語法:
  VC:
    void B_Prn_Configuration(void);
  VB: VBA: VB.net:
    Declare Sub B_Prn_Configuration()

範例:
  VC:
    B_Prn_Configuration();
  VB: VBA: VB.net:
    Call B_Prn_Configuration()

說明:  這個 B_Prn_Configuration 函數會列印印表機內部配置,包含設定、
    firmware 版本、accessories、等....。

*******************************************************************************
B_Prn_Text()
===============================================================================
功能:  印出一行文字和加上跳號功能。

語法:
  VC:
    int B_Prn_Text(int x, int y, int ori, int font, int hor_factor, int ver_factor,
      char mode, LPCTSTR data);
  VB: VBA:
    Declare Function B_Prn_Text(ByVal x As Long, ByVal y As Long, ByVal ori As Long, _
      ByVal font As Long, ByVal hor_factor As Long, ByVal ver_factor As Long, _
      ByVal mode As Byte, ByVal data As String) As Long
  VB.net:
    Declare Function B_Prn_Text(ByVal x As Integer, ByVal y As Integer, _
      ByVal ori As Integer, ByVal font As Integer, ByVal hor_factor As Integer, _
      ByVal ver_factor As Integer, ByVal mode As Byte, ByVal data As String) As Integer

參數:
    x;
      X 座標。
    y;
      Y 座標。
    ori;
      列印方向定位,'0'是 0°,'1'是90°、'2'是180°,'3'是270°
    font;
      選擇字形,1~5 選擇常佇字形。
    hor_factor;
      水平放大比例,範圍:1~24。
    ver_factor;
      垂直放大比例,範圍:1~24。
    mode;
      反白功能,'N'普通文字,'R'反白文字。
    data;
      資料字串,當尾端資料加上 <Operation Number> 格式為加上跳號功能,
      Operation: + or - 記號,Number: 0 ~ 32768 數值。

傳回值:
    0 -> OK.
    Reference BW-Error.txt file.

範例:
  VC:
    B_Prn_Text(50, 110, 0, 4, 1, 1, 'N', "A123456"); //無跳號功能
      or
    B_Prn_Text(50, 110, 0, 4, 1, 1, 'N', "A123456<-1>"); //有跳號功能
  VB: VBA; VB.net:
    B_Prn_Text(50, 110, 0, 4, 1, 1, Asc("N"), "A123456") 'no counter
      or
    B_Prn_Text(50, 110, 0, 4, 1, 1, Asc("N"), "A123456<-1>") 'have a counter

說明:  這個 B_Prn_Text 函數可以列印出一行文字和加上跳號功能。

*******************************************************************************
B_Prn_Text_Chinese()
===============================================================================
功能:  印出一行文字,使用中文點矩陣字型檔案 (16*15 或 24*24)。

語法:
  VC:
    int B_Prn_Text_Chinese(int x, int y, int fonttype, LPCTSTR id_name, LPCTSTR data);
  VB: VBA:
    Declare Function B_Prn_Text_Chinese(ByVal x As Long, ByVal y As Long, _
      ByVal fonttype As Long, ByVal id_name As String, ByVal data As String) As Long
  VB.net:
    Declare Function B_Prn_Text_Chinese(ByVal x As Integer, ByVal y As Integer, _
      ByVal fonttype As Integer, ByVal id_name As String, ByVal data As String) As Integer

參數:
    x;
      X 座標。(dot)
    y;
      Y 座標。(dot)
    fonttype;
      矩陣字型選擇。0 -> 16*15、1 -> 24*24。
    id_name;
      給予一個識別名稱存放於印表機內,以後直接使用 B_Load_Pcx() 即可將舊圖呼叫出來。
    data;
      文字內容。

傳回值:
    0 -> OK.
    Reference BW-Error.txt file.

範例:
  VC:
    B_Open_ChineseFont("C:\\ET3");
    B_Prn_Text_Chinese(100, 100, 0, "A01", "國家利益當前AbCcDd");
  VB: VBA; VB.net:
    Call B_Open_ChineseFont("C:\\ET3")
    Call B_Prn_Text_Chinese(100, 100, 0, "A01", "國家利益當前AbCcDd")

說明:  這個 B_Prn_Text_Chinese 函數可以印出一行文字,使用中文點矩陣字型檔案
    (16*15 或 24*24)。

*******************************************************************************
B_Prn_Text_TrueType()
B_Prn_Text_TrueType_W()
B_Prn_Text_TrueType_Uni()
B_Prn_Text_TrueType_UniB()
===============================================================================
功能:  印出一行 True Type Font 文字。

語法:
  VC:
    int B_Prn_Text_TrueType(int x, int y, int FSize, LPCTSTR FType, int Fspin,
      int FWeight, int FItalic, int FUnline, int FStrikeOut, LPCTSTR id_name,
      LPCTSTR data);
    int B_Prn_Text_TrueType_W(int x, int y, int FHeight, int FWidth, LPCTSTR FType,
      int Fspin, int FWeight, int FItalic, int FUnline, int FStrikeOut, LPCTSTR id_name,
      LPCTSTR data);
    int B_Prn_Text_TrueType_Uni(int x, int y, int FSize, LPCTSTR FType, int Fspin,
      int FWeight, int FItalic, int FUnline, int FStrikeOut, LPCTSTR id_name, 
      LPCWSTR data, int format);
    int B_Prn_Text_TrueType_UniB(int x, int y, int FSize, LPCTSTR FType, int Fspin,
      int FWeight, int FItalic, int FUnline, int FStrikeOut, LPCTSTR id_name, 
      LPCTSTR data, int format);
  VB: VBA:
    Declare Function B_Prn_Text_TrueType(ByVal x As Long, ByVal y As Long, _
      ByVal FSize As Long, ByVal FType As String, ByVal Fspin As Long, _
      ByVal FWeight As Long, ByVal FItalic As Long, ByVal FUnline As Long, _
      ByVal FStrikeOut As Long, ByVal id_name As String, ByVal data As String) As Long
    Declare Function B_Prn_Text_TrueType_W(ByVal x As Long, ByVal y As Long, _
      ByVal FHeight As Long, ByVal FWidth As Long, ByVal FType As String, _
      ByVal Fspin As Long, ByVal FWeight As Long, ByVal FItalic As Long, _
      ByVal FUnline As Long, ByVal FStrikeOut As Long, ByVal id_name As String, _
      ByVal data As String) As Long
    Declare Function B_Prn_Text_TrueType_Uni(ByVal x As Long, ByVal y As Long, _
      ByVal FSize As Long, ByVal FType As String, ByVal Fspin As Long, _
      ByVal FWeight As Long, ByVal FItalic As Long, ByVal FUnline As Long, _
      ByVal FStrikeOut As Long, ByVal id_name As String, ByRef data As Byte, _
      ByVal format As Long) As Long
    Declare Function B_Prn_Text_TrueType_UniB(ByVal x As Long, ByVal y As Long, _
      ByVal FSize As Long, ByVal FType As String, ByVal Fspin As Long, _
      ByVal FWeight As Long, ByVal FItalic As Long, ByVal FUnline As Long, _
      ByVal FStrikeOut As Long, ByVal id_name As String, ByRef data As Byte, _
      ByVal format As Long) As Long
  VB.net:
    Declare Function B_Prn_Text_TrueType(ByVal x As Integer, ByVal y As Integer, _
      ByVal FSize As Integer, ByVal FType As String, ByVal Fspin As Integer, _
      ByVal FWeight As Integer, ByVal FItalic As Integer, ByVal FUnline As Integer, _
      ByVal FStrikeOut As Integer, ByVal id_name As String, _
      ByVal data As String) As Integer
    Declare Function B_Prn_Text_TrueType_W(ByVal x As Integer, ByVal y As Integer, _
      ByVal FHeight As Integer, ByVal FWidth As Integer, ByVal FType As String, _
      ByVal Fspin As Integer, ByVal FWeight As Integer, ByVal FItalic As Integer, _
      ByVal FUnline As Integer, ByVal FStrikeOut As Integer, ByVal id_name As String, _
      ByVal data As String) As Integer
    Declare Function B_Prn_Text_TrueType_Uni(ByVal x As Integer, ByVal y As Integer, _
      ByVal FSize As Integer, ByVal FType As String, ByVal Fspin As Integer, _
      ByVal FWeight As Integer, ByVal FItalic As Integer, ByVal FUnline As Integer, _
      ByVal FStrikeOut As Integer, ByVal id_name As String, ByVal data As Byte(), _
      ByVal format As Integer) As Integer
    Declare Function B_Prn_Text_TrueType_UniB(ByVal x As Integer, ByVal y As Integer, _
      ByVal FSize As Integer, ByVal FType As String, ByVal Fspin As Integer, _
      ByVal FWeight As Integer, ByVal FItalic As Integer, ByVal FUnline As Integer, _
      ByVal FStrikeOut As Integer, ByVal id_name As String, ByVal data As Byte(), _
      ByVal format As Integer) As Integer

參數:
    x;
      X 座標, 單位: 像素。
    y;
      Y 座標, 單位: 像素。
    FSize;
      TrueType font size,單位為點(dot)。
    FHeight;
      字型高度,單位為點(dot)。
    FWidth;
      字型寬度,單位為點(dot)。
      FSize / FHeight / FWidth = (dpi * point) / 72.
    FType;
      TrueType font 字型名稱。
    Fspin;
      TrueType font 字體旋轉。1 -> 0, 2 -> 90, 3 -> 180, 4 -> 270
    FWeight;
      TrueType font 字體粗細。
      0 and NULL and 400 -> 400 標準、
      100 -> 非常細、200 -> 極細、
      300 -> 細    、500 -> 中等、
      600 -> 半粗  、700 -> 粗  、
      800 -> 特粗  、900 -> 黑體。
    FItalic;
      TrueType font 字體斜體。0 -> FALSE、1 -> TRUE。
    FUnline;
      TrueType font 字體加底線。0 -> FALSE、1 -> TRUE。
    FStrikeOut;
      TrueType font 字體加刪除線。0 -> FALSE、1 -> TRUE。
    id_name;
      給予一個識別名稱存放於印表機內,以後直接使用 B_Load_Pcx() 即可將舊圖呼叫出來。
    data;
      文字內容。
      B_Prn_Text_TrueType_Uni()與B_Prn_Text_TrueType_UniB()所輸入的data格式為UTF-8、
      UTF-16或Unicode big endian之字串,且需為0結尾。
    format;
      決定Unicode data的解碼方式。
      0 -> 由字串開頭的BOM(Byte Order Mark)決定。
      1 -> UTF-16。
      2 -> Unicode big endian。
      3 -> UTF-8。

傳回值:
    0 -> OK.
    Reference BW-Error.txt file.

範例:
  VC:
    char *pbuf = new char[128];
    B_Prn_Text_TrueType(30, 100, 30, "Arial", 1, 400, 0, 0, 0, "AA", "TrueType Font");
      //save in printer.
    B_Prn_Text_TrueType_W(30, 160, 20, 20, "Times New Roman", 1, 400, 0, 0, 0, "AB", 
      "TT_W: 多字元測試");
    B_Prn_Text_TrueType_Uni(30, 220, 30, "Times New Roman", 1, 400, 0, 0, 0, "AC",
      L"TT_Uni: 多字元測試",1);//UTF-16
    strcpy(pbuf, "\xFF\xFE");//UTF-16.
    memcpy(&pbuf[2], (char *)L"TT_UniB: 多字元測試", 15*2);//copy mutil byte.
    B_Prn_Text_TrueType_UniB(30, 280, 30, "Times New Roman", 1, 400, 0, 0, 0, "AD",
      pbuf, 0);//Byte Order Mark.
  VB:
    Dim buff1(128) As Byte
    Dim buff2() As Byte
    Dim i As Long
    Call B_Prn_Text_TrueType(30, 100, 30, "Arial", 1, 400, 0, 0, 0, "AA", _
      "TrueType Font") 'save in printer.
    Call B_Prn_Text_TrueType_W(30, 160, 20, 20, "Times New Roman", 1, 400, 0, 0, 0, _
      "AB", "TT_W: 多字元測試")
    buff2 = StrConv("TT_Uni: 多字元測試", vbNarrow) 
      'Converts UNICODE(wide characters) to single-byte characters.
    For i = LBound(buff2) To UBound(buff2)
        buff1(i) = buff2(i)
    Next i
    buff1(26) = 0 'null.
    buff1(27) = 0
    Call B_Prn_Text_TrueType_Uni(30, 220, 30, "Times New Roman", 1, 400, 0, 0, 0, _
      "AC", buff1(0), 1) 'UTF-16
    buff1(0) = 255 'UTF-16.
    buff1(1) = 254
    buff2 = StrConv("TT_UniB: 多字元測試", vbNarrow) 
      'Converts UNICODE(wide characters) to single-byte characters.
    For i = LBound(buff2) To UBound(buff2)
        buff1(i + 2) = buff2(i)
    Next i
    buff1(30) = 0 'null.
    buff1(31) = 0
    Call B_Prn_Text_TrueType_UniB(30, 280, 30, "Times New Roman", 1, 400, 0, 0, 0, _
      "AD", buff1(0), 0) 'Byte Order Mark.
  VB.net:
    Dim pbuf(128) As Byte
    Dim encUnicode = System.Text.Encoding.Unicode
    Call B_Prn_Text_TrueType(30, 100, 30, "Arial", 1, 400, 0, 0, 0, "AA", "TrueType Font")
      'save in printer.
    Call B_Prn_Text_TrueType_W(30, 160, 20, 20, "Times New Roman", 1, 400, 0, 0, 0, _
      "AB", "TT_W: 多字元測試")
    Call B_Prn_Text_TrueType_Uni(30, 220, 30, "Times New Roman", 1, 400, 0, 0, 0, _
      "AC", encUnicode.GetBytes("TT_Uni: 多字元測試"), 1) 'UTF-16
    pbuf(0) = 255 'UTF-16.
    pbuf(1) = 254
    encUnicode.GetBytes("TT_UniB: 多字元測試", 0, 14, pbuf, 2) 'copy mutil byte.
    pbuf(30) = 0 'null.
    pbuf(31) = 0
    Call B_Prn_Text_TrueType_UniB(30, 280, 30, "Times New Roman", 1, 400, 0, 0, 0, _
      "AD", pbuf, 0) 'Byte Order Mark.

說明:  這個 B_Prn_Text_TrueType() 函數可以印出一行 True Type Font 文字。

*******************************************************************************
B_Select_Option()
B_Select_Option2()
===============================================================================
功能:  設定轉印模式、啟動 Cutter 或 Peel。

語法:
  VC:
    int B_Select_Option(int object);
    int B_Select_Option2(int object, int p);
  VB: VBA:
    Declare Function B_Select_Option(ByVal object As Long) As Long
    Declare Function B_Select_Option2(ByVal object As Long, ByVal p As Long) As Long
  VB.net:
    Declare Function B_Select_Option(ByVal object As Integer) As Integer
    Declare Function B_Select_Option2(ByVal object As Integer, _
      ByVal p As Integer) As Integer

參數:
    object;
      印表機功能選項。
      1 -> 開啟熱轉,關閉 Cutter 和 Peel。
      2 -> 開啟熱感,關閉 Cutter 和 Peel。
      3 -> 開啟熱感和 Cutter,關閉 Peel。
      4 -> 開啟熱感和 Peel,關閉 Cutter。
      5 -> 開啟熱轉和 Cutter,關閉 Peel。
      6 -> 開啟熱轉和 Peel,關閉 Cutter。
    p;
      設定Cutter裁切張數,使用Cutter時才有效.

傳回值:
    0 -> OK.
    Reference BW-Error.txt file.

範例:
  VC:
    B_Select_Option(1);
    B_Select_Option2(3, 2);
  VB: VBA: VB.net:
    Call B_Select_Option(1)
    Call B_Select_Option2(2, 3)

說明:  B_Select_Option, B_Select_Option2函數可以選擇不同 Printer 選項,使印
    表機依據這些選項工作。

*******************************************************************************
B_Select_Symbol()
B_Select_Symbol2()
===============================================================================
功能:  符號設定選擇。

語法:
  VC:
    int B_Select_Symbol(int num_bit, int symbol, int country);
    int B_Select_Symbol2(int num_bit, char csymbol[2], int country);
  VB: VBA:
    Declare Function B_Select_Symbol(ByVal num_bit As Long, ByVal symbol As Long, _
      ByVal country As Long) As Long
    Declare Function B_Select_Symbol2(ByVal num_bit As Long, ByVal csymbol As string, _
      ByVal country As Long) As Long
  VB.net:
    Declare Function B_Select_Symbol(ByVal num_bit As Integer, ByVal symbol As Integer, _
      ByVal country As Integer) As Integer
    Declare Function B_Select_Symbol2(ByVal num_bit As Integer, ByVal csymbol As string, _
      ByVal country As Integer) As Integer

參數:
    num_bit;
      資料位元數量。8 是 8-bit data 和 7 是 7-bit data。
    symbol;
      符號設定。見下表:備註:工廠內定符號設定是 Code page 437(English)。
      +---------------------------+---------------------------+
      |       8 bit data          |       7 bit data          |
      +------+--------------------+------+--------------------+
      |symbol|    Code page       |symbol|     Code page      |
      +------+--------------------+------+--------------------+
      |  0   |English(437)        |  0   |USASCII             |
      +------+--------------------+------+--------------------+
      |  1   |Latin(850)          |  1   |British             |
      +------+--------------------+------+--------------------+
      |  2   |Slavic(852)         |  2   |German              |
      +------+--------------------+------+--------------------+
      |  3   |Portugal(860)       |  3   |French              |
      +------+--------------------+------+--------------------+
      |  4   |Canadian?French(863)|  4   |Danish              |
      +------+--------------------+------+--------------------+
      |  5   |Nordic(865)         |  5   |Italian             |
      +------+--------------------+------+--------------------+
      |      |                    |  6   |Spanish             |
      +------+--------------------+------+--------------------+
      |      |                    |  7   |Swedish             |
      +------+--------------------+------+--------------------+
      |      |                    |  8   |Swiss               |
      +------+--------------------+------+--------------------+
    csymbol;
      符號設定。見下表:備註:工廠內定符號設定是 Code page 437(English)。
      +---------------------------+---------------------------+
      |       8 bit data          |       7 bit data          |
      +------+--------------------+------+--------------------+
      |symbol|    Code page       |symbol|     Code page      |
      +------+--------------------+------+--------------------+
      |  0   |English(437)        |  0   |USASCII             |
      +------+--------------------+------+--------------------+
      |  1   |Latin(850)          |  1   |British             |
      +------+--------------------+------+--------------------+
      |  2   |Slavic(852)         |  2   |German              |
      +------+--------------------+------+--------------------+
      |  3   |Portugal(860)       |  3   |French              |
      +------+--------------------+------+--------------------+
      |  4   |Canadian/French(863)|  4   |Danish              |
      +------+--------------------+------+--------------------+
      |  5   |Nordic(865)         |  5   |Italian             |
      +------+--------------------+------+--------------------+
      |  6   |Turkish(857)        |  6   |Spanish             |
      +------+--------------------+------+--------------------+
      |  7   |Icelandic(861)      |  7   |Swedish             |
      +------+--------------------+------+--------------------+
      |  8   |Hebrew(862)         |  8   |Swiss               |
      +------+--------------------+------+--------------------+
      |  9   |Cyrillic(855)       |      |                    |
      +------+--------------------+------+--------------------+
      |  10  |Cyrillic CIS(866)   |      |                    |
      +------+--------------------+------+--------------------+
      |  11  |Greek(737)          |      |                    |
      +------+--------------------+------+--------------------+
      |  12  |Greek(851)          |      |                    |
      +------+--------------------+------+--------------------+
      |  13  |Greek(869)          |      |                    |
      +------+--------------------+------+--------------------+
      |  A   |Latin(1252)         |      |                    |
      +------+--------------------+------+--------------------+
      |  B   |Latin(1250)         |      |                    |
      +------+--------------------+------+--------------------+
      |  C   |Cyrillic(1251)      |      |                    |
      +------+--------------------+------+--------------------+
      |  D   |Greek(1253)         |      |                    |
      +------+--------------------+------+--------------------+
      |  E   |Turkish(1254)       |      |                    |
      +------+--------------------+------+--------------------+
      |  F   |Hebrew(1255)        |      |                    |
      +------+--------------------+------+--------------------+
    country;
      KDU country code.

傳回值:
    0 -> OK.
    Reference BW-Error.txt file.

範例:
  VC:
    B_Select_Symbol(7, 5, 1);
      or
    B_Select_Symbol2(7, "5", 1);
  VB: VBA: VB.net:
    Call B_Select_Symbol(7, 5, 1)
      or
    Call B_Select_Symbol2(7, "5", 1)

說明:  這個 B_Select_Symbol 函數可以選擇適當符號設定。

*******************************************************************************
B_Set_Backfeed()
===============================================================================
功能:  啟動 Back feed。

語法:
  VC:
    int B_Set_Backfeed(char option);
  VB: VBA:
    Declare Function B_Set_Backfeed(ByVal options As Byte) As Long
  VB.net:
    Declare Function B_Set_Backfeed(ByVal options As Byte) As Integer

參數:
    option;
      功能選項,"B" 關閉 Back feed。"F" 啟動 Back feed。
      它可吐出一定長度,讓使用者看到印出結果。

傳回值:
    0 -> OK.
    Reference BW-Error.txt file.

範例:
  VC:
    B_Set_Backfeed('B');
  VB: VBA: VB.net:
    Call B_Set_Backfeed(Asc("B"))

說明:  這個 B_Set_Backfeed 函數可以調整停止點。

******************************************************************************
B_Set_Backfeed_Offset()
==============================================================================
功能:  設定 Back Feed 偏移量(只用於撕紙模式).

語法:
  VC:
    int B_Set_Backfeed_Offset(int offset);
  VB: VBA:
    Declare Function B_Set_Backfeed_Offset(ByVal offset As Long) As Long
  VB.net:
    Declare Function B_Set_Backfeed_Offset(ByVal offset As Integer) As Integer

參數:
    offset;
      back feed 偏移量,範圍:-127~127 pixels.

傳回值:
    0 -> OK.
    Reference BW-Error.txt file.

範例:
  VC:
    B_Set_Backfeed('F');
    B_Select_