Merge commit '4357ad16c09a6503a0e2d727f76fcafee2c39853'
This commit is contained in:
@@ -55,5 +55,5 @@ Imports System.Windows
|
|||||||
' usando l'asterisco '*' come illustrato di seguito:
|
' usando l'asterisco '*' come illustrato di seguito:
|
||||||
' <Assembly: AssemblyVersion("1.0.*")>
|
' <Assembly: AssemblyVersion("1.0.*")>
|
||||||
|
|
||||||
<Assembly: AssemblyVersion("2.3.8.1")>
|
<Assembly: AssemblyVersion("2.4.4.1")>
|
||||||
<Assembly: AssemblyFileVersion("2.3.8.1")>
|
<Assembly: AssemblyFileVersion("2.4.4.1")>
|
||||||
|
|||||||
+83
-48
@@ -14,6 +14,9 @@ Class ZebraPrinter
|
|||||||
Private m_sDataRoot As String
|
Private m_sDataRoot As String
|
||||||
Private m_Waiting As Boolean = True
|
Private m_Waiting As Boolean = True
|
||||||
|
|
||||||
|
Private m_sError As String = String.Empty
|
||||||
|
Private m_FileError As String
|
||||||
|
|
||||||
' dichiarazione funzione per lettura file ini
|
' dichiarazione funzione per lettura file ini
|
||||||
Private Declare Auto Function GetPrivateProfileString Lib "kernel32" (
|
Private Declare Auto Function GetPrivateProfileString Lib "kernel32" (
|
||||||
ByVal lpAppName As String,
|
ByVal lpAppName As String,
|
||||||
@@ -34,7 +37,8 @@ Class ZebraPrinter
|
|||||||
Else
|
Else
|
||||||
m_sDataRoot = sb.ToString
|
m_sDataRoot = sb.ToString
|
||||||
End If
|
End If
|
||||||
m_FileLog = m_sDataRoot & "\Temp\ZebraPrinterUtilityLog.txt"
|
Dim ThisMoment As Date = Now
|
||||||
|
m_FileLog = m_sDataRoot & "\Temp\ZebraPrinterUtilityLog " & ThisMoment.Day.ToString & "_" & ThisMoment.Month & "_" & ThisMoment.Year & ".txt"
|
||||||
If Not File.Exists(m_FileLog) Then
|
If Not File.Exists(m_FileLog) Then
|
||||||
Try
|
Try
|
||||||
File.Create(m_FileLog).Close()
|
File.Create(m_FileLog).Close()
|
||||||
@@ -50,6 +54,11 @@ Class ZebraPrinter
|
|||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
' creazio del file di errori
|
||||||
|
Sub InitErrorFile()
|
||||||
|
m_FileError = m_sDataRoot & "\Temp\" & "Error.txt"
|
||||||
|
End Sub
|
||||||
|
|
||||||
' Funzione per scrivere nel file di Log
|
' Funzione per scrivere nel file di Log
|
||||||
Sub EmitLog(sLine As String)
|
Sub EmitLog(sLine As String)
|
||||||
Dim sMessage As StreamWriter = File.AppendText(m_FileLog)
|
Dim sMessage As StreamWriter = File.AppendText(m_FileLog)
|
||||||
@@ -57,7 +66,20 @@ Class ZebraPrinter
|
|||||||
sMessage.Close()
|
sMessage.Close()
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
' collego la stampante
|
' Scrivo solamente il primo errore che si verifica
|
||||||
|
Sub EmitError(sIndexError As String)
|
||||||
|
If Not String.IsNullOrEmpty(m_sError) Then Return
|
||||||
|
Try
|
||||||
|
Dim sMessage As StreamWriter = File.CreateText(m_FileError)
|
||||||
|
sMessage.WriteLine("Error=" & sIndexError)
|
||||||
|
sMessage.Close()
|
||||||
|
m_sError = sIndexError
|
||||||
|
Catch ex As Exception
|
||||||
|
EmitLog("Impossible to create file Error.txt: " & ex.Message)
|
||||||
|
End Try
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
' collego la stampante -> Error=1
|
||||||
Friend Function ConnectPrinter() As Boolean
|
Friend Function ConnectPrinter() As Boolean
|
||||||
Try
|
Try
|
||||||
Dim discoPrinters As List(Of DiscoveredPrinterDriver) = UsbDiscoverer.GetZebraDriverPrinters()
|
Dim discoPrinters As List(Of DiscoveredPrinterDriver) = UsbDiscoverer.GetZebraDriverPrinters()
|
||||||
@@ -65,55 +87,62 @@ Class ZebraPrinter
|
|||||||
Return True
|
Return True
|
||||||
Catch ex As ConnectionException
|
Catch ex As ConnectionException
|
||||||
EmitLog("Printer connection error: " & ex.Message)
|
EmitLog("Printer connection error: " & ex.Message)
|
||||||
|
EmitError("1")
|
||||||
Return False
|
Return False
|
||||||
Catch
|
Catch
|
||||||
EmitLog("Printer not found error")
|
EmitLog("Printer not found error")
|
||||||
|
EmitError("1")
|
||||||
Return False
|
Return False
|
||||||
End Try
|
End Try
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
' creo e stampo l'etichetta (ricevo il nome del template da usare)
|
' creo e stampo l'etichetta (ricevo il nome del template da usare) -> Error=3
|
||||||
Public Async Sub Print(FilePath As String)
|
Public Sub Print(FilePath As String)
|
||||||
Await Task.Run(Async Function()
|
Try
|
||||||
|
' Connecting...
|
||||||
|
m_printerConnection.Open()
|
||||||
|
EmitLog("Connessione stampante: APERTA")
|
||||||
|
' Sending Data...
|
||||||
|
Dim LabelFile As String = File.ReadAllText(FilePath)
|
||||||
|
For Each Variable In m_Values
|
||||||
|
LabelFile = LabelFile.Replace(Variable.Key, Variable.Value)
|
||||||
|
Next
|
||||||
|
Dim LabelBytes As Byte() = Encoding.UTF8.GetBytes(LabelFile)
|
||||||
|
Task.Delay(200)
|
||||||
|
' stampo etichetta
|
||||||
|
m_printerConnection.Write(LabelBytes)
|
||||||
|
m_Waiting = False
|
||||||
|
EmitLog("Etichetta pronta")
|
||||||
|
Catch __unusedConnectionException1__ As ConnectionException
|
||||||
|
EmitLog(__unusedConnectionException1__.ToString)
|
||||||
|
EmitError("3")
|
||||||
|
' Communications Error
|
||||||
|
Catch __unusedZebraPrinterLanguageUnknownException2__ As ZebraPrinterLanguageUnknownException
|
||||||
|
EmitLog(__unusedZebraPrinterLanguageUnknownException2__.ToString)
|
||||||
|
EmitError("3")
|
||||||
|
Catch ex As Exception
|
||||||
|
EmitLog(ex.ToString)
|
||||||
|
EmitError("3")
|
||||||
|
End Try
|
||||||
|
|
||||||
Try
|
' Chiudo la connessione
|
||||||
' Connecting...
|
Try
|
||||||
m_printerConnection.Open()
|
'Threading.Thread.Sleep(500)
|
||||||
EmitLog("Connessione stampante: APERTA")
|
Threading.Thread.Sleep(200)
|
||||||
' Sending Data...
|
' Disconnecting...
|
||||||
Dim LabelFile As String = File.ReadAllText(FilePath)
|
If Not IsNothing(m_printerConnection) Then
|
||||||
For Each Variable In m_Values
|
m_printerConnection.Close()
|
||||||
LabelFile = LabelFile.Replace(Variable.Key, Variable.Value)
|
EmitLog("Connessione stampante: CHIUSA")
|
||||||
Next
|
Threading.Thread.Sleep(1000)
|
||||||
Dim LabelBytes As Byte() = Encoding.UTF8.GetBytes(LabelFile)
|
End If
|
||||||
Await Task.Delay(200)
|
' Not Connected
|
||||||
' stampo etichetta
|
Catch __unusedConnectionException1__ As ConnectionException
|
||||||
m_printerConnection.Write(LabelBytes)
|
EmitLog(__unusedConnectionException1__.ToString)
|
||||||
m_Waiting = False
|
EmitError("3")
|
||||||
EmitLog("Etichetta pronta")
|
Catch ex As Exception
|
||||||
Catch __unusedConnectionException1__ As ConnectionException
|
EmitLog(ex.ToString)
|
||||||
EmitLog(__unusedConnectionException1__.ToString)
|
EmitError("3")
|
||||||
' Communications Error
|
End Try
|
||||||
Catch __unusedZebraPrinterLanguageUnknownException2__ As ZebraPrinterLanguageUnknownException
|
|
||||||
EmitLog(__unusedZebraPrinterLanguageUnknownException2__.ToString)
|
|
||||||
End Try
|
|
||||||
|
|
||||||
' Chiudo la connessione
|
|
||||||
Try
|
|
||||||
'Threading.Thread.Sleep(500)
|
|
||||||
Threading.Thread.Sleep(200)
|
|
||||||
' Disconnecting...
|
|
||||||
If m_printerConnection IsNot Nothing Then
|
|
||||||
m_printerConnection.Close()
|
|
||||||
EmitLog("Connessione stampante: CHIUSA")
|
|
||||||
Threading.Thread.Sleep(1000)
|
|
||||||
End If
|
|
||||||
' Not Connected
|
|
||||||
Catch __unusedConnectionException1__ As ConnectionException
|
|
||||||
EmitLog(__unusedConnectionException1__.ToString)
|
|
||||||
End Try
|
|
||||||
|
|
||||||
End Function)
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
|
||||||
@@ -151,11 +180,13 @@ Class ZebraPrinter
|
|||||||
Sub New(args As String())
|
Sub New(args As String())
|
||||||
|
|
||||||
InitLog()
|
InitLog()
|
||||||
|
InitErrorFile()
|
||||||
ConnectPrinter()
|
ConnectPrinter()
|
||||||
|
|
||||||
' verifico che il numero di argomenti sia superiore a 2 (migliorare l'interpretazione dell'errore)
|
' verifico che il numero di argomenti sia superiore a 2 (migliorare l'interpretazione dell'errore)
|
||||||
If args.Length < 2 Then
|
If args.Length < 2 Then
|
||||||
EmitLog("Non sono stati esplicictati tutti i file")
|
EmitLog("Non sono stati esplicictati tutti i file")
|
||||||
|
EmitError("2")
|
||||||
Return
|
Return
|
||||||
End If
|
End If
|
||||||
|
|
||||||
@@ -163,17 +194,20 @@ Class ZebraPrinter
|
|||||||
' verifico che l'estensione del file sia corretta
|
' verifico che l'estensione del file sia corretta
|
||||||
If Path.GetExtension(args(0)) <> ".prn" Then
|
If Path.GetExtension(args(0)) <> ".prn" Then
|
||||||
EmitLog("Estensione file template non corretta, diversa da .prn")
|
EmitLog("Estensione file template non corretta, diversa da .prn")
|
||||||
|
EmitError("2")
|
||||||
Return
|
Return
|
||||||
End If
|
End If
|
||||||
' verifico che il file esiste
|
' verifico che il file esiste
|
||||||
If Not File.Exists(args(0)) Then
|
If Not File.Exists(args(0)) Then
|
||||||
EmitLog("File '" & args(0) & "' non esiste.")
|
EmitLog("File '" & args(0) & "' non esiste.")
|
||||||
|
EmitError("2")
|
||||||
End If
|
End If
|
||||||
|
|
||||||
EmitLog("File dati: " & args(1))
|
EmitLog("File dati: " & args(1))
|
||||||
' verifico che l'estensione del file sia corretta
|
' verifico che l'estensione del file sia corretta
|
||||||
If Path.GetExtension(args(1)) <> ".ini" Then
|
If Path.GetExtension(args(1)) <> ".ini" Then
|
||||||
EmitLog("Estensione file dati non corretta, diversa da .ini")
|
EmitLog("Estensione file dati non corretta, diversa da .ini")
|
||||||
|
EmitError("2")
|
||||||
Return
|
Return
|
||||||
End If
|
End If
|
||||||
|
|
||||||
@@ -183,16 +217,17 @@ Class ZebraPrinter
|
|||||||
Print(args(0))
|
Print(args(0))
|
||||||
|
|
||||||
' metto il programmma in attesa
|
' metto il programmma in attesa
|
||||||
Dim nCiclo As Integer = 0
|
Threading.Thread.Sleep(1000)
|
||||||
While m_Waiting And nCiclo < 6
|
' se sono arrivato fino a qui provo a impostare che non ci sono stati errori
|
||||||
Threading.Thread.Sleep(1000)
|
' se ci fossero degli errori questo comando viene ignorato
|
||||||
nCiclo += 1
|
EmitError("0")
|
||||||
End While
|
|
||||||
' elimino il file dei dati
|
' elimino il file dei dati
|
||||||
Try
|
Try
|
||||||
File.Delete(args(1))
|
File.Delete(args(1))
|
||||||
EmitLog("Eliminato file " & args(1))
|
EmitLog("Eliminato file " & args(1))
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
|
EmitLog(ex.ToString)
|
||||||
End Try
|
End Try
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
|
||||||
<StartAction>Project</StartAction>
|
<StartAction>Program</StartAction>
|
||||||
<StartProgram>C:\EgtProg\OmagVIEW\ZebraPrinterUtilitiesD32.exe</StartProgram>
|
<StartProgram>C:\EgtProg\OmagVIEW\ZebraPrinterUtilitiesD32.exe</StartProgram>
|
||||||
<StartArguments>
|
<StartArguments>
|
||||||
</StartArguments>
|
</StartArguments>
|
||||||
|
|||||||
Reference in New Issue
Block a user