2014-06-26 81 views
0

我有摩托罗拉手持式MC55A与Windows嵌入式掌上电脑6.5,我想开始开发一个应用程序来读条码。我没有找到任何参考做我的命令 我已经安装了VS2008,并开始创建智能使用简单表格的设备应用程序摩托罗拉手持式MC55A开发

回答

0

值得称道的优点:最初我没有写下面的代码,我不确定谁最初做过它,可能是由符号开发人员编写的......我不确定,我只用过它。 1-首先下载并安装Motorola EMDK,之后,您将复制C:\ Program Files(x86)\ Motorola EMDK for .NET \ v2.5 \ SDK \ Smart Devices \ Symbol.Barcode .dll文件放到您的口袋里的\ My Device \ Windows文件夹中。

Public Class frmTest 
Dim MyReader As Symbol.Barcode.Reader = Nothing 
Dim MyReaderData As Symbol.Barcode.ReaderData = Nothing 
Dim MyEventHandler As System.EventHandler = Nothing 
Dim MyHandlerCB As System.EventHandler = Nothing 

Private Sub frmTest_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load 
    InitReader() 
End Sub 

Protected Overloads Overrides Sub OnClosing(ByVal e As System.ComponentModel.CancelEventArgs) 
    StopRead() 
    Me.TermReader() 
    MyBase.OnClosing(e) 
End Sub 

Private Function InitReader() As Boolean 
    ' If reader is already present then fail initialize 
    If Not (Me.MyReader Is Nothing) Then 
     Return False 
    End If 
    'Create new reader, first available reader will be used. 
    Me.MyReader = New Symbol.Barcode.Reader 
    'Create reader data 
    Me.MyReaderData = New Symbol.Barcode.ReaderData(_ 
           Symbol.Barcode.ReaderDataTypes.Text, _ 
           Symbol.Barcode.ReaderDataLengths.DefaultText) 
    ' create event handler delegate 
    Me.MyEventHandler = New System.EventHandler(AddressOf MyReader_ReadNotify) 
    'Enable reader, with wait cursor 
    Me.MyReader.Actions.Enable() 
    Return True 
End Function 

Private Sub TermReader() 
    'If we have a reader 
    If Not (Me.MyReader Is Nothing) Then 
     'Disable reader, with wait cursor 
     Me.MyReader.Actions.Disable() 
     'free it up 
     Me.MyReader.Dispose() 
     ' Indicate we no longer have one 
     Me.MyReader = Nothing 
    End If 
    ' If we have a reader data 
    If Not (Me.MyReaderData Is Nothing) Then 
     'Free it up 
     Me.MyReaderData.Dispose() 
     'Indicate we no longer have one 
     Me.MyReaderData = Nothing 
    End If 
End Sub 

Private Sub StartRead() 
    'If we have both a reader and a reader data 
    If Not ((Me.MyReader Is Nothing) And (Me.MyReaderData Is Nothing)) Then 
     'Submit a read 
     AddHandler MyReader.ReadNotify, Me.MyEventHandler 
     Me.MyReader.Actions.Read(Me.MyReaderData) 
    End If 
End Sub 

Private Sub StopRead() 
    'If we have a reader 
    If Not (Me.MyReader Is Nothing) Then 
     'Flush (Cancel all pending reads) 
     RemoveHandler MyReader.ReadNotify, Me.MyEventHandler 
     Me.MyReader.Actions.Flush() 
    End If 
End Sub 

Private Sub MyReader_ReadNotify(ByVal o As Object, ByVal e As EventArgs) 
    Dim TheReaderData As Symbol.Barcode.ReaderData = Me.MyReader.GetNextReaderData() 
    'If it is a successful read (as opposed to a failed one) 
    If (TheReaderData.Result = Symbol.Results.SUCCESS) Then 
     'Handle the data from this read 
     Me.HandleData(TheReaderData) 
     'Start the next read 
     Me.StartRead() 
    End If 
End Sub 

Private Sub HandleData(ByVal TheReaderData As Symbol.Barcode.ReaderData) 
    txtBarCode.Text = TheReaderData.Text 
End Sub 

Private Sub txtBarCode_GotFocus(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtBarCode.GotFocus 
    StartRead() 
End Sub 

Private Sub txtBarCode_LostFocus(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtBarCode.LostFocus 
    StopRead() 
End Sub 

末级

0

您想要扫描条形码并将它们插入到应用程序的文本框中? 尝试从控制面板启用Data Wedge。

+0

感谢您comment.i开始使用摩托罗拉EMDK V2.8来开发我的应用程序。 – user2046177