URLをクリップボードにコピーしました
シェア用URL:https://faq2.epson.jp/web/Detail.aspx?id=36013
|
最終更新日 2018/12/26 |
FAQ番号:36013 |
|
Visual Basic .NET でキャッシュドロアーの開閉状態を取得する方法
|
|
Visual Basic .NET で開発するデスクトップ アプリケーションからキャッシュドロアーが開いている状態を取得する方法を教えてください。
|
|
-
-
レシートプリンターに接続されたキャッシュドロアーの開閉状況は、ドライバー:EPSON Advanced Printer Driver シリーズやアプリケーション開発キット:EPSON OPOS ADK によって知ることができます。
EPSON Advanced Printer Driver
EPSON Advanced Printer Driver にはレシートプリンターやキャッシュドロアーのステータス ( 状態 ) を知ることができる Status API があります。
これを使用することで、アプリケーションにレシートプリンターやキャッシュドロアーを監視する機能を組み込むことができます。
Status API の例
Imports com.epson.pos.driver
Public Class Form1
Dim m_objAPI As New StatusAPI
Dim printStatus As ASB
Private Sub Button1_Click(sender As Object,
e As EventArgs) Handles Button1.Click
' イベントの関連付け
AddHandler m_objAPI.StatusCallback, AddressOf StatusMonitoring
' プリンターのオープン
m_objAPI.OpenMonPrinter(OpenType.TYPE_PRINTER, PRINTER_NAME)
' ステータス監視の開始
m_objAPI.SetStatusBack()
End Sub
Private Sub Button2_Click(sender As Object,
e As EventArgs) Handles Button2.Click
' ステータス監視の終了
m_objAPI.CancelStatusBack()
' プリンターのクローズ
m_objAPI.CloseMonPrinter()
End Sub
Public Sub StatusMonitoring(ByVal dwStatus As ASB)
' 各ステータスの論理和で返されるのでANDで判定
If (dwStatus And ASB.ASB_DRAWER_KICK) = ASB.ASB_DRAWER_KICK Then
' キャッシュドロアーが接続されていない、
' または接続されているキャッシュドロアーが開いている。
End If
End Sub
End Class
詳細はドライバー本体、および共に公開しているマニュアルをご確認ください。
EPSON OPOS ADK
EPSON OPOS ADK は OPOS 仕様準拠のアプリケーション開発キットです。
レシートプリンターやキャッシュドロアーを制御するための API を提供しています。
EPSON Advanced Printer Driver のように Windows 用プリンタードライバーとしてご使用いただけるものではありません。プリンターへの印刷やキャッシュドロアーの開閉には、必ずアプリケーションの開発が必要です。
DrawerOpened の例
m_Drawer.Open()
m_Drawer.Claim(1000)
m_Drawer.DeviceEnabled = True
m_Drawer.OpenDrawer()
'ドロワーが開いている間、Loop をする例
Do
System.Threading.Thread.Sleep(100)
Loop Until m_Drawer.DrawerOpened = True
'終了処理
m_Drawer.DeviceEnabled = False
m_Drawer.Release()
m_Drawer.Close()
イベント:StatusUpdateEvent で状態を知る例
Protected Sub OnStatusUpdateEvent(ByVal source As Object _
, ByVal e As StatusUpdateEventArgs)
Select Case e.Status
'キャッシュドロアーが閉じている。
Case CashDrawer.StatusClosed
'キャッシュドロアーは開いている。
Case CashDrawer.StatusOpen
End Select
End Sub
キャッシュドロアー |
CD-A3336,DLA-58EDIII,DM-Z100,DM-Z400,DMA-48EDIII,DSA-35EDIII |
|