From 318a4e1d440567f2f64a90b771128c632a28cbdf Mon Sep 17 00:00:00 2001 From: NicolaP Date: Wed, 20 Oct 2021 15:55:31 +0200 Subject: [PATCH 1/6] Migliorata scrittura codice per stampa --- ZebraPrinter.vb | 88 +++++++++++++++---------------- ZebraPrinterUtilities.vbproj.user | 2 +- 2 files changed, 44 insertions(+), 46 deletions(-) diff --git a/ZebraPrinter.vb b/ZebraPrinter.vb index a2660f1..a5dfb9f 100644 --- a/ZebraPrinter.vb +++ b/ZebraPrinter.vb @@ -73,47 +73,47 @@ Class ZebraPrinter End Function ' creo e stampo l'etichetta (ricevo il nome del template da usare) - Public Async Sub Print(FilePath As String) - Await Task.Run(Async Function() + Public Sub Print(FilePath As String) + 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) + ' Communications Error + Catch __unusedZebraPrinterLanguageUnknownException2__ As ZebraPrinterLanguageUnknownException + EmitLog(__unusedZebraPrinterLanguageUnknownException2__.ToString) + Catch ex As Exception + EmitLog(ex.ToString) + End Try - 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) - Await Task.Delay(200) - ' stampo etichetta - m_printerConnection.Write(LabelBytes) - m_Waiting = False - EmitLog("Etichetta pronta") - Catch __unusedConnectionException1__ As ConnectionException - EmitLog(__unusedConnectionException1__.ToString) - ' Communications Error - 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) + ' Chiudo la connessione + Try + 'Threading.Thread.Sleep(500) + Threading.Thread.Sleep(200) + ' Disconnecting... + If Not IsNothing(m_printerConnection) Then + m_printerConnection.Close() + EmitLog("Connessione stampante: CHIUSA") + Threading.Thread.Sleep(1000) + End If + ' Not Connected + Catch __unusedConnectionException1__ As ConnectionException + EmitLog(__unusedConnectionException1__.ToString) + Catch ex As Exception + EmitLog(ex.ToString) + End Try End Sub @@ -183,16 +183,14 @@ Class ZebraPrinter Print(args(0)) ' metto il programmma in attesa - Dim nCiclo As Integer = 0 - While m_Waiting And nCiclo < 6 - Threading.Thread.Sleep(1000) - nCiclo += 1 - End While + Threading.Thread.Sleep(1000) + ' elimino il file dei dati Try File.Delete(args(1)) EmitLog("Eliminato file " & args(1)) Catch ex As Exception + EmitLog(ex.ToString) End Try End Sub diff --git a/ZebraPrinterUtilities.vbproj.user b/ZebraPrinterUtilities.vbproj.user index 8df751f..48448b1 100644 --- a/ZebraPrinterUtilities.vbproj.user +++ b/ZebraPrinterUtilities.vbproj.user @@ -1,7 +1,7 @@  - Project + Program C:\EgtProg\OmagVIEW\ZebraPrinterUtilitiesD32.exe From 52db91e6c326e512c1b743f776464230d649aa7e Mon Sep 17 00:00:00 2001 From: NicolaP Date: Wed, 20 Oct 2021 17:58:54 +0200 Subject: [PATCH 2/6] Rinominato il file di Log con la data corrente --- My Project/AssemblyInfo.vb | 4 ++-- ZebraPrinter.vb | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/My Project/AssemblyInfo.vb b/My Project/AssemblyInfo.vb index 0679c7c..306ff0f 100644 --- a/My Project/AssemblyInfo.vb +++ b/My Project/AssemblyInfo.vb @@ -55,5 +55,5 @@ Imports System.Windows ' usando l'asterisco '*' come illustrato di seguito: ' - - + + diff --git a/ZebraPrinter.vb b/ZebraPrinter.vb index a5dfb9f..b0c8863 100644 --- a/ZebraPrinter.vb +++ b/ZebraPrinter.vb @@ -34,7 +34,8 @@ Class ZebraPrinter Else m_sDataRoot = sb.ToString 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 Try File.Create(m_FileLog).Close() From 4aa6fa557ec96251ad77d21ac41f2a841006061f Mon Sep 17 00:00:00 2001 From: NicolaP Date: Thu, 21 Apr 2022 15:40:22 +0200 Subject: [PATCH 3/6] Creazione file Error.txt --- ZebraPrinter.vb | 36 ++++++++++++++++++++++++++++++++++-- 1 file changed, 34 insertions(+), 2 deletions(-) diff --git a/ZebraPrinter.vb b/ZebraPrinter.vb index b0c8863..3d2c1aa 100644 --- a/ZebraPrinter.vb +++ b/ZebraPrinter.vb @@ -14,6 +14,9 @@ Class ZebraPrinter Private m_sDataRoot As String Private m_Waiting As Boolean = True + Private m_sError As String = String.Empty + Private m_FileError As String + ' dichiarazione funzione per lettura file ini Private Declare Auto Function GetPrivateProfileString Lib "kernel32" ( ByVal lpAppName As String, @@ -51,6 +54,11 @@ Class ZebraPrinter 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 Sub EmitLog(sLine As String) Dim sMessage As StreamWriter = File.AppendText(m_FileLog) @@ -58,7 +66,19 @@ Class ZebraPrinter sMessage.Close() 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() + 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 Try Dim discoPrinters As List(Of DiscoveredPrinterDriver) = UsbDiscoverer.GetZebraDriverPrinters() @@ -66,14 +86,16 @@ Class ZebraPrinter Return True Catch ex As ConnectionException EmitLog("Printer connection error: " & ex.Message) + EmitError("1") Return False Catch EmitLog("Printer not found error") + EmitError("1") Return False End Try 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 Sub Print(FilePath As String) Try ' Connecting... @@ -92,11 +114,14 @@ Class ZebraPrinter 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 ' Chiudo la connessione @@ -112,8 +137,10 @@ Class ZebraPrinter ' Not Connected Catch __unusedConnectionException1__ As ConnectionException EmitLog(__unusedConnectionException1__.ToString) + EmitError("3") Catch ex As Exception EmitLog(ex.ToString) + EmitError("3") End Try End Sub @@ -152,11 +179,13 @@ Class ZebraPrinter Sub New(args As String()) InitLog() + InitErrorFile() ConnectPrinter() ' verifico che il numero di argomenti sia superiore a 2 (migliorare l'interpretazione dell'errore) If args.Length < 2 Then EmitLog("Non sono stati esplicictati tutti i file") + EmitError("2") Return End If @@ -164,17 +193,20 @@ Class ZebraPrinter ' verifico che l'estensione del file sia corretta If Path.GetExtension(args(0)) <> ".prn" Then EmitLog("Estensione file template non corretta, diversa da .prn") + EmitError("2") Return End If ' verifico che il file esiste If Not File.Exists(args(0)) Then EmitLog("File '" & args(0) & "' non esiste.") + EmitError("2") End If EmitLog("File dati: " & args(1)) ' verifico che l'estensione del file sia corretta If Path.GetExtension(args(1)) <> ".ini" Then EmitLog("Estensione file dati non corretta, diversa da .ini") + EmitError("2") Return End If From 52f09cc0fbbd085ea3b7055b84cdab87a0498386 Mon Sep 17 00:00:00 2001 From: NicolaP Date: Fri, 22 Apr 2022 12:20:23 +0200 Subject: [PATCH 4/6] Aggiornamento versione --- My Project/AssemblyInfo.vb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/My Project/AssemblyInfo.vb b/My Project/AssemblyInfo.vb index 306ff0f..3eb8c3a 100644 --- a/My Project/AssemblyInfo.vb +++ b/My Project/AssemblyInfo.vb @@ -55,5 +55,5 @@ Imports System.Windows ' usando l'asterisco '*' come illustrato di seguito: ' - - + + From a4418383485633a75487ee1216e5a7e2600a609a Mon Sep 17 00:00:00 2001 From: NicolaP Date: Fri, 22 Apr 2022 13:00:42 +0200 Subject: [PATCH 5/6] Migliorata gestione messaggi di errore --- ZebraPrinter.vb | 3 +++ 1 file changed, 3 insertions(+) diff --git a/ZebraPrinter.vb b/ZebraPrinter.vb index 3d2c1aa..fca8ba4 100644 --- a/ZebraPrinter.vb +++ b/ZebraPrinter.vb @@ -217,6 +217,9 @@ Class ZebraPrinter ' metto il programmma in attesa Threading.Thread.Sleep(1000) + ' se sono arrivato fino a qui provo a impostare che non ci sono stati errori + ' se ci fossero degli errori questo comando viene ignorato + EmitError("0") ' elimino il file dei dati Try From 4357ad16c09a6503a0e2d727f76fcafee2c39853 Mon Sep 17 00:00:00 2001 From: NicolaP Date: Fri, 22 Apr 2022 13:29:27 +0200 Subject: [PATCH 6/6] Correzione stampa indice di errore --- ZebraPrinter.vb | 1 + 1 file changed, 1 insertion(+) diff --git a/ZebraPrinter.vb b/ZebraPrinter.vb index fca8ba4..14c0e4a 100644 --- a/ZebraPrinter.vb +++ b/ZebraPrinter.vb @@ -73,6 +73,7 @@ Class ZebraPrinter 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