VB.net输出数据至Zebra打印机打印条码的程序

来源:互联网 发布:达内 php培训班北 编辑:程序博客网 时间:2024/04/28 03:28

最近刚刚完成了一个简单的VB.net输出数据至Zebra打印机打印条码的程序,以下是代码,如过有需要的可以参考,

有不对的或者建议也请发给我,需要原程序的发邮件给我

tao.jm@163.com

 

------------------------------------

 

Imports System.IO
Imports System.Text

Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        '判断sn输入是否正确
        If Strings.Len(TextBox1.Text) = 11 Then
        Else
            MsgBox("Incorrect SN , please check again")
            TextBox1.Focus()
            TextBox1.SelectAll()
            Exit Sub
        End If


        '判断itemcode输入是否正确
        If Strings.Len(TextBox3.Text) = 11 Then
        ElseIf Strings.Len(TextBox3.Text) = 12 Then
        ElseIf Strings.Len(TextBox3.Text) = 14 Then
        ElseIf Strings.Len(TextBox3.Text) = 15 Then
        Else
            MsgBox("Incorrect itemcode , please check again")
            TextBox3.Focus()
            TextBox3.SelectAll()
            Exit Sub
        End If

        'sn赋值
        Dim sn As String = ""
        sn = TextBox1.Text

        'itemcode赋值
        Dim itemcode As String = ""
        If Strings.Len(TextBox3.Text) = 15 OrElse Strings.Len(TextBox3.Text) = 12 Then
            itemcode = Strings.Left(TextBox3.Text, 7) & Strings.Right(TextBox3.Text, 5)
        Else
            itemcode = Strings.Left(TextBox3.Text, 7) & Strings.Right(TextBox3.Text, 4)
        End If

        '根据itemcode判断itemname
        Dim itemname As String = ""

        If itemcode = "082849A.101" Then
            itemname = "FSMB CORE"

        ElseIf itemcode = "082849A.102" Then
            itemname = "FSMB CORE"

        ElseIf itemcode = "082849A.103" Then
            itemname = "FSMB CORE"

        ElseIf itemcode = "082849A.104" Then
            itemname = "FSMB CORE"

        ElseIf itemcode = "082849A.105" Then
            itemname = "FSMB CORE"

        ElseIf itemcode = "083675A.101" Then
            itemname = "FRCA CORE"

        ElseIf itemcode = "083684A.101" Then
            itemname = "FRCB CORE"

        ElseIf itemcode = "083688A.101" Then
            itemname = "FRGD CORE"

        ElseIf itemcode = "083688A.102" Then
            itemname = "FRGD CORE"

        ElseIf itemcode = "083688A.103" Then
            itemname = "FRGD CORE"

        ElseIf itemcode = "083688A.104" Then
            itemname = "FRGD CORE"

        ElseIf itemcode = "083688A.105" Then
            itemname = "FRGD CORE"

        ElseIf itemcode = "083504A.102" Then
            itemname = "FRIA CORE"

        ElseIf itemcode = "083504A.104" Then
            itemname = "FRIA CORE"

        ElseIf itemcode = "083504A.105" Then
            itemname = "FRIA CORE"

        ElseIf itemcode = "083504A.106" Then
            itemname = "FRIA CORE"

        ElseIf itemcode = "083504A.207" Then
            itemname = "FRIA CORE"

        ElseIf itemcode = "083640A.105" Then
            itemname = "FRIB CORE"

        ElseIf itemcode = "083640A.207" Then
            itemname = "FRIB CORE"

        ElseIf itemcode = "083689A.101" Then
            itemname = "FRGC CORE"

        ElseIf itemcode = "083689A.102" Then
            itemname = "FRGC CORE"

        ElseIf itemcode = "083689A.103" Then
            itemname = "FRGC CORE"

        ElseIf itemcode = "083689A.104" Then
            itemname = "FRGC CORE"

        ElseIf itemcode = "083689A.105" Then
            itemname = "FRGC CORE"

        ElseIf itemcode = "465119A.202" Then
            itemname = "TRXA 12"

        ElseIf itemcode = "465119A.203" Then
            itemname = "TRXA 12"

        ElseIf itemcode = "465119A.204" Then
            itemname = "TRXA 12"

        ElseIf itemcode = "465119A.204B" Then
            itemname = "TRXA 12"

        ElseIf itemcode = "465119A.305" Then
            itemname = "TRXA 13"

        ElseIf itemcode = "465119A.306" Then
            itemname = "TRXA 13"

        ElseIf itemcode = "465119A.307" Then
            itemname = "TRXA 13"

        ElseIf itemcode = "465218A.101" Then
            itemname = "CCFA 11"

        ElseIf itemcode = "465218A.102" Then
            itemname = "CCFA 11"

        ElseIf itemcode = "465218A.203" Then
            itemname = "CCFA 12"

        ElseIf itemcode = "465218A.304" Then
            itemname = "CCFA 13"

        ElseIf itemcode = "465228A.102" Then
            itemname = "BCFA 11"

        ElseIf itemcode = "465228A.103" Then
            itemname = "BCFA 11"

        ElseIf itemcode = "465228A.104" Then
            itemname = "BCFA 11"

        ElseIf itemcode = "465228A.105" Then
            itemname = "BCFA 11"

        ElseIf itemcode = "465228A.205" Then
            itemname = "BCFA 12"

        ElseIf itemcode = "465228A.306" Then
            itemname = "BCFA 13"

        ElseIf itemcode = "465369A.102" Then
            itemname = "RTCC 11"

        ElseIf itemcode = "465369A.203" Then
            itemname = "RTCC 12"

        ElseIf itemcode = "465389A.202" Then
            itemname = "TRXD 12"

        ElseIf itemcode = "465870A.101" Then
            itemname = "AFE 11"

        ElseIf itemcode = "465870A.202" Then
            itemname = "AFE 11"

        ElseIf itemcode = "465870A.303" Then
            itemname = "AFE 12"

        ElseIf itemcode = "465870A.404" Then
            itemname = "AFE 14"

        ElseIf itemcode = "465878A.202" Then
            itemname = "AFEJ 11"

        ElseIf itemcode = "465878A.203" Then
            itemname = "AFEJ 11"

        ElseIf itemcode = "465878A.303" Then
            itemname = "AFEJ 12"

        ElseIf itemcode = "465878A.404" Then
            itemname = "AFEJ 14"

        ElseIf itemcode = "467663A.102" Then
            itemname = "CCFE 11"

        ElseIf itemcode = "467663A.104" Then
            itemname = "CCFE 11"

        ElseIf itemcode = "467663A.105" Then
            itemname = "CCFE 11"

        ElseIf itemcode = "467800A.101" Then
            itemname = "TSGA 11"

        ElseIf itemcode = "467800A.102" Then
            itemname = "TSGA 11"

        ElseIf itemcode = "467800A.104" Then
            itemname = "TSGA 11"

        ElseIf itemcode = "467800A.105" Then
            itemname = "TSGA 11"

        ElseIf itemcode = "467800A.105A" Then
            itemname = "TSGA 11"

        ElseIf itemcode = "467800A.106" Then
            itemname = "TSGA 11"

        ElseIf itemcode = "467800A.107" Then
            itemname = "TSGA 11"

        ElseIf itemcode = "467800A.108" Then
            itemname = "TSGA 11"

        ElseIf itemcode = "467800A.109" Then
            itemname = "TSGA 11"

        ElseIf itemcode = "467828A.101" Then
            itemname = "TSDA 11"

        ElseIf itemcode = "467828A.102" Then
            itemname = "TSDA 11"

        ElseIf itemcode = "467828A.104" Then
            itemname = "TSDA 11"

        ElseIf itemcode = "467828A.105" Then
            itemname = "TSDA 11"

        ElseIf itemcode = "467828A.105A" Then
            itemname = "TSDA 11"

        ElseIf itemcode = "467828A.106" Then
            itemname = "TSDA 11"

        ElseIf itemcode = "467828A.107" Then
            itemname = "TSDA 11"

        ElseIf itemcode = "467828A.108" Then
            itemname = "TSDA 11"

        ElseIf itemcode = "467828A.109" Then
            itemname = "TSDA 11"

        ElseIf itemcode = "467828A.110" Then
            itemname = "TSDA 11"

        ElseIf itemcode = "468231A.101" Then
            itemname = "WTPA 11"

        ElseIf itemcode = "468231A.102" Then
            itemname = "WTPA"

        ElseIf itemcode = "468231A.103" Then
            itemname = "WTPA"

        ElseIf itemcode = "468654A.101" Then
            itemname = "WTFA 11"

        ElseIf itemcode = "468654A.102" Then
            itemname = "WTFA"

        ElseIf itemcode = "468654A.103" Then
            itemname = "WTFA"

        ElseIf itemcode = "468704A.101" Then
            itemname = "TSGB 11"

        ElseIf itemcode = "468704A.102" Then
            itemname = "TSGB 11"

        ElseIf itemcode = "468704A.103" Then
            itemname = "TSGB 11"

        ElseIf itemcode = "468704A.104" Then
            itemname = "TSGB 11"

        ElseIf itemcode = "468704A.105" Then
            itemname = "TSGB 11"

        ElseIf itemcode = "468704A.206" Then
            itemname = "TSGB 12"

        ElseIf itemcode = "468704A.207" Then
            itemname = "TSGB 12"

        ElseIf itemcode = "468704A.209" Then
            itemname = "TSGB 12"

        ElseIf itemcode = "468704A.413" Then
            itemname = "TSGB 14"

        ElseIf itemcode = "469089A.101" Then
            itemname = "TSDB 11"

        ElseIf itemcode = "469089A.102" Then
            itemname = "TSDB 11"

        ElseIf itemcode = "469089A.103" Then
            itemname = "TSDB 11"

        ElseIf itemcode = "469089A.104" Then
            itemname = "TSDB 11"

        ElseIf itemcode = "469089A.105" Then
            itemname = "TSDB 11"

        ElseIf itemcode = "469089A.206" Then
            itemname = "TSDB 12"

        ElseIf itemcode = "469089A.207" Then
            itemname = "TSDB 12"

        ElseIf itemcode = "469089A.209" Then
            itemname = "TSDB 12"

        ElseIf itemcode = "469089A.411" Then
            itemname = "TSDB 14"

        ElseIf itemcode = "469690A.101" Then
            itemname = "CTGA 11"

        ElseIf itemcode = "469690A.202" Then
            itemname = "CTGA 11"

        ElseIf itemcode = "469690A.203" Then
            itemname = "CTGA 11"

        ElseIf itemcode = "469690A.204" Then
            itemname = "CTGA 11"

        ElseIf itemcode = "469690A.205" Then
            itemname = "CTGA 11"

        ElseIf itemcode = "469691A.101" Then
            itemname = "CTDA 11"

        ElseIf itemcode = "469691A.102" Then
            itemname = "CTDA 11"

        ElseIf itemcode = "469691A.103" Then
            itemname = "CTDA 11"

        ElseIf itemcode = "469874A.101" Then
            itemname = "CTGH 11"

        ElseIf itemcode = "469874A.102" Then
            itemname = "CTGH"

        ElseIf itemcode = "469874A.103" Then
            itemname = "CTGH"

        ElseIf itemcode = "469874A.104" Then
            itemname = "CTGH"

        ElseIf itemcode = "469875A.101" Then
            itemname = "CTGJ 11"

        ElseIf itemcode = "469875A.102" Then
            itemname = "CTGJ 11"

        ElseIf itemcode = "469875A.103" Then
            itemname = "CTGJ 11"

        ElseIf itemcode = "469875A.104" Then
            itemname = "CTGJ 11"

        ElseIf itemcode = "470137A.104" Then
            itemname = "FTPB 11"

        ElseIf itemcode = "470156A.101" Then
            itemname = "FTEB"

        ElseIf itemcode = "470156A.102" Then
            itemname = "FTEB"

        ElseIf itemcode = "470156A.103" Then
            itemname = "FTEB"

        ElseIf itemcode = "470156A.104" Then
            itemname = "FTEB"

        ElseIf itemcode = "051041A.205" Then
            itemname = "BBMA"

        ElseIf itemcode = "051041A.208" Then
            itemname = "BBMA"

        ElseIf itemcode = "051041A.210" Then
            itemname = "BBMA"

        ElseIf itemcode = "051041A.211" Then
            itemname = "BBMA"

        ElseIf itemcode = "051041A.213" Then
            itemname = "BBMA"

        ElseIf itemcode = "060209A.106" Then
            itemname = "BBMB"

        ElseIf itemcode = "060209A.109" Then
            itemname = "BBMB"

        ElseIf itemcode = "060209A.111" Then
            itemname = "BBMB"

        ElseIf itemcode = "060209A.112" Then
            itemname = "BBMB"

        ElseIf itemcode = "060209A.113" Then
            itemname = "BBMB"

        Else : MsgBox("The itemcode isn't in the database , Please check if input is incorrect or contact with you administrator.")
            Exit Sub
        End If


        '更改数据,发送打印
        Dim serr As String = ""
        Dim outdata As String
        outdata = GetFileContents(WORKING_DIRECTORY_SCRIPT & "/script.txt", serr)
        If serr = "" Then
            If outdata <> "" Then
                outdata = outdata.Replace("$sn$", sn)
                outdata = outdata.Replace("$itemcode$", itemcode)
                outdata = outdata.Replace("$itemname$", itemname)
                Dim file_name As String = WORKING_DIRECTORY_SCRIPT & "/script-temp.txt"
                Dim fi As New System.IO.FileInfo(file_name)
                SaveTextToFile(outdata, file_name)
                CopyFile(file_name, "LPT1", 1)
            End If
        End If

        TextBox3.Clear()
        TextBox1.Focus()
        TextBox1.SelectAll()

    End Sub

    '更换数据
    Public Const WORKING_DIRECTORY_SCRIPT As String = "C:/users/script"
    Private Declare Function CopyFile Lib "kernel32" Alias "CopyFileA" (ByVal lpExistingFileName As String, ByVal lpNewFileName As String, ByVal bFailIfExists As Long) As Long

    Public Function printer(Optional ByRef sn As String = "", Optional ByRef itemcode As String = "", Optional ByRef itemname As String = "", Optional ByRef qty As String = "") As Boolean

        Dim serr As String = ""
        Dim outdata As String
        outdata = GetFileContents(WORKING_DIRECTORY_SCRIPT & "/script.txt", serr)
        If serr = "" Then
            If outdata <> "" Then
                outdata = outdata.Replace("$sn$", sn)
                outdata = outdata.Replace("$itemcode$", itemcode)
                outdata = outdata.Replace("$itemname$", itemname)
                Dim file_name As String = WORKING_DIRECTORY_SCRIPT & "/script-temp.txt"
                Dim fi As New System.IO.FileInfo(file_name)
                SaveTextToFile(outdata, file_name)
                CopyFile(file_name, "LPT1", 1)
            End If
            Return True
        End If
        Return False
    End Function


    '读取文件
    Public Function GetFileContents(ByVal FullPath As String, Optional ByRef ErrInfo As String = "") As String

        Dim strContents As String
        Dim objReader As StreamReader
        Try
            objReader = New StreamReader(FullPath)
            strContents = objReader.ReadToEnd()
            objReader.Close()
            Return strContents
        Catch Ex As Exception
            ErrInfo = Ex.Message
            Return ErrInfo
        End Try
    End Function

    '保存文件
    Public Function SaveTextToFile(ByVal strData As String, ByVal FullPath As String, Optional ByVal ErrInfo As String = "") As Boolean

        Dim bAns As Boolean = False
        Dim objReader As StreamWriter
        Try
            objReader = New StreamWriter(FullPath)
            objReader.Write(strData)
            objReader.Close()
            bAns = True
        Catch Ex As Exception
            ErrInfo = Ex.Message
        End Try
        Return bAns
    End Function


    'button1获取焦点后自动激发click响应
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Me.KeyPreview = True

    End Sub

    Private Sub Form1_KeyUp(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyUp
        If Button1.Focused = True Then
            Me.Button1.PerformClick()
        End If
    End Sub
    'button1获取焦点后自动激发click响应---向上

    '以下为设置无标题栏拉动窗体
    '注意:要设置form的controlbox属性为false  
    Dim MousX As Integer
    Dim MousY As Integer
    Dim CurrX As Integer
    Dim CurrY As Integer

    Public Sub myMouseDown(ByVal sender As Object, ByVal ex As MouseEventArgs) Handles MyBase.MouseDown
        If ex.Button = MouseButtons.Left Then
            '如果是鼠标左键,则不捕获鼠标  
            Me.Capture() = False

            '获得鼠标坐标(相对于窗体)  
            MousX = ex.X
            MousY = ex.Y
        End If
    End Sub

    Public Sub myMouseMove(ByVal sender As Object, ByVal ex As MouseEventArgs) Handles MyBase.MouseMove
        If ex.Button = MouseButtons.Left Then
            '左键操作  
            CurrX = Me.Left - MousX + ex.X
            CurrY = Me.Top - MousY + ex.Y
            '设置窗体相对于屏幕的坐标  
            Me.SetDesktopLocation(CurrX, CurrY)
        End If
    End Sub
    '  
    Public Sub myMouseUp(ByVal sender As Object, ByVal ex As MouseEventArgs) Handles MyBase.MouseUp
        If ex.Button = MouseButtons.Left Then
            Me.Capture() = True

        End If
    End Sub
    '以上为设置无标题栏拉动窗体


    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Me.Close()
    End Sub
End Class