5 Commits

Author SHA1 Message Date
Nicola Pievani c1a104b04f Merge commit '4357ad16c09a6503a0e2d727f76fcafee2c39853' 2023-06-12 16:21:49 +02:00
NicolaP 4357ad16c0 Correzione stampa indice di errore 2022-04-22 13:29:27 +02:00
NicolaP a441838348 Migliorata gestione messaggi di errore 2022-04-22 13:00:42 +02:00
NicolaP 52f09cc0fb Aggiornamento versione 2022-04-22 12:20:23 +02:00
NicolaP 4aa6fa557e Creazione file Error.txt 2022-04-21 15:40:22 +02:00
2 changed files with 40 additions and 4 deletions
+2 -2
View File
@@ -55,5 +55,5 @@ Imports System.Windows
' usando l'asterisco '*' come illustrato di seguito:
' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("2.3.10.1")>
<Assembly: AssemblyFileVersion("2.3.10.1")>
<Assembly: AssemblyVersion("2.4.4.1")>
<Assembly: AssemblyFileVersion("2.4.4.1")>
+38 -2
View File
@@ -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,20 @@ 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()
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
Try
Dim discoPrinters As List(Of DiscoveredPrinterDriver) = UsbDiscoverer.GetZebraDriverPrinters()
@@ -66,14 +87,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 +115,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 +138,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 +180,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 +194,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
@@ -185,6 +218,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