17 Commits

Author SHA1 Message Date
Nicola Pievani 55b8f80721 Aggiornamento versione 2.6b1 2024-02-13 15:39:02 +01:00
Nicola Pievani b8e64c83b7 Merge commit '6f5e7cd11ad5b94f019090a1bb64783a8a44b6f5' into develop 2023-08-07 09:12:45 +02:00
Nicola Pievani 6f5e7cd11a Aggiornamento versione 2.5h1 2023-08-07 09:12:25 +02:00
Nicola Pievani 46e7846f3e Merge commit '14d3de85ff8970833c2156da29aa222bf0d8ae6f' 2023-07-28 18:20:26 +02:00
Nicola Pievani 14d3de85ff Gestione selezione multipla pezzi 2023-07-28 18:20:13 +02:00
Nicola Pievani 8e60c252fe Merge commit '19670ccbf78b13e7023b86fc57954c74c11457eb' into develop 2023-06-06 11:42:41 +02:00
DarioS 19670ccbf7 OmagVIEW :
- aggiornamento info programma.
2023-01-18 09:17:47 +01:00
NicolaP 972650891c Merge branch 'master' into develop 2023-01-11 19:34:43 +01:00
NicolaP 662fee7865 Cambio versione 2.5a1 2023-01-11 19:34:11 +01:00
NicolaP 6d2c098682 Merge branch 'develop' 2022-05-02 16:41:48 +02:00
NicolaP 4d9b29e9fe Merge remote-tracking branch 'origin/master' into develop 2022-05-02 16:41:22 +02:00
NicolaP 5719b711af Aggiornamento versione 2.4e1 2022-05-02 16:27:48 +02:00
NicolaP 076ff0af49 Abilitazione comando "Stampa Label" da file ini 2022-05-02 14:54:03 +02:00
NicolaP 16fb3d7a36 Miglioramento gestione messaggio di errore 2022-04-28 11:56:06 +02:00
NicolaP c36fafdc8d Lettura messaggi di errore da ZebraPribterUtilities 2022-04-22 13:28:38 +02:00
DarioS ee9f2bd91e OmagVIEW 2.4c1 :
- ricompilazione con cambio versione.
2022-03-30 09:59:20 +02:00
DarioS 1e98aeb9d9 OmagVIEW 2.3l1 :
- ricompilazione per cambio versione.
2021-12-18 22:48:25 +01:00
4 changed files with 109 additions and 22 deletions
+3
View File
@@ -25,6 +25,7 @@ Module ConstIni
Public Const K_PROJDIR As String = "ProjDir"
Public Const K_PREVNEXTPROJ As String = "PrevNextProj"
Public Const K_THEME As String = "Theme"
Public Const K_PRINTSLEEP As String = "PrintSleep"
Public Const S_LANGUAGES As String = "Languages"
Public Const K_LANGUAGE As String = "Language"
@@ -39,6 +40,8 @@ Module ConstIni
Public Const K_DEFAULTCOLOR As String = "DefaultColor"
Public Const S_PRINTER As String = "Printer"
Public Const K_ENABLEPRINTER As String = "EnablePrinter"
Public Const K_DELAYTIME As String = "DelayTime"
Public Const K_TEMPLATE As String = "Template"
Public Const K_TEMPLATE_ARROW As String = "TemplateArrow"
Public Const K_DAT As String = "Dat"
+3 -3
View File
@@ -58,8 +58,8 @@
</Button>
</Grid>
<Grid Name="SceneGrid" Grid.Row="1">
<Grid Name="SceneGrid" Grid.Row="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="3*"/>
<ColumnDefinition Width="14*"/>
@@ -87,7 +87,7 @@
FontSize="32"/>
<Button Name="ConfirmBtn" Grid.Row="5" Style="{DynamicResource OmagCut_BlueTextButton}"
FontSize="32"/>
<Border Name="OutMessageBrd" Grid.Row="6" >
<Border Name="OutMessageBrd" Grid.Row="6">
<TextBlock Name="OutMessageTxBl" TextAlignment="Center"
Style="{StaticResource OmagCut_LowerCaseCharacterTextBlock}"/>
</Border>
+96 -13
View File
@@ -5,6 +5,7 @@ Imports EgtWPFLib
Imports System.ComponentModel
Imports System.Threading
Imports System.Windows.Threading
Imports System.Windows.Forms
Class MainWindow
@@ -54,6 +55,8 @@ Class MainWindow
Friend m_nTopViewRotStep As Integer = 0
' Timer per aggiornamento interfaccia
Private m_IdleTimer As New DispatcherTimer(DispatcherPriority.ApplicationIdle)
' Timero per reset dei messaggi
Private m_DelayTimerMsg As New DispatcherTimer(DispatcherPriority.ApplicationIdle)
' Lista dei pezzi attivi
Private m_vParts As New List(Of Integer)
' percorso file template per stampante
@@ -192,8 +195,8 @@ Class MainWindow
' leggo nome file exe (per stampante zebra)
GetPrivateProfileString(S_PRINTER, K_ZEBRAUTILITIES, System.AppDomain.CurrentDomain.BaseDirectory & "ZebraPrinterUtilitiesR32.exe", m_ZebraUtilitiesExe, m_sIniFile)
' Recupero opzioni della chiave
Dim bKey As Boolean = EgtGetKeyLevel(9423, 2310, 1, m_nKeyLevel) And
EgtGetKeyOptions(9423, 2310, 1, m_nKeyOptions)
Dim bKey As Boolean = EgtGetKeyLevel(9423, 2602, 1, m_nKeyLevel) And
EgtGetKeyOptions(9423, 2602, 1, m_nKeyOptions)
EgtOutLog("KeyOptions : " & bKey.ToString() & " " & m_nKeyOptions.ToString())
' Imposto dir di default per libreria Lua e lancio libreria di base
Dim sLuaLibsDir As String = String.Empty
@@ -238,7 +241,7 @@ Class MainWindow
LabelBtn.Content = EgtMsg(91304) 'Stampa Etichetta
ConfirmBtn.Content = EgtMsg(91305) 'Conferma
' Abilitazione stampa etichetta
LabelBtn.IsEnabled = True
LabelBtn.IsEnabled = GetPrivateProfileInt(S_PRINTER, K_ENABLEPRINTER, 0, m_sIniFile) <> 0
' Visualizzazione bottoni Prev/Next
If GetPrivateProfileInt(S_GENERAL, K_PREVNEXTPROJ, 0, m_sIniFile) = 0 Then
PrevNextGrid.Visibility = Windows.Visibility.Hidden
@@ -247,6 +250,8 @@ Class MainWindow
End If
' Imposto OnIdle
AddHandler m_IdleTimer.Tick, AddressOf OnIdle
' Imposto "Maniglia" per la gestione dell'evento di pulizia dei messaggi
AddHandler m_DelayTimerMsg.Tick, AddressOf RefreshErrorMsgPrinter
End Sub
Private Sub ManageSingleIstance()
@@ -334,11 +339,11 @@ Class MainWindow
Dim sText As String = EgtMsg(MSG_MISSINGKEYWD + 2) & vbCrLf & EgtMsg(MSG_MISSINGKEYWD + 3)
Dim sTitle As String = EgtMsg(MSG_MISSINGKEYWD + 1)
MissingKeyWnd = New EgtMsgBox(Me, EgtMsg(MSG_MISSINGKEYWD + 1), EgtMsg(MSG_MISSINGKEYWD + 2) & " " & EgtMsg(MSG_MISSINGKEYWD + 3), EgtMsgBox.Buttons.OK, EgtMsgBox.Icons.NULL)
' Altrimenti manca la licenza
' Altrimenti manca la licenza
Else
EgtOutLog("Problems with Licence")
' Box di avviso licenza con problemi : "Programma senza licenza. \n Caricala e riavvia il programma." "Errore"
Dim sKeyInfo As String = "" : EgtGetKeyInfo( sKeyInfo)
Dim sKeyInfo As String = "" : EgtGetKeyInfo(sKeyInfo)
Dim sText As String = sKeyInfo & vbCrLf & EgtMsg(MSG_MISSINGKEYWD + 5) & vbCrLf & EgtMsg(MSG_MISSINGKEYWD + 6)
Dim sTitle As String = EgtMsg(MSG_MISSINGKEYWD + 1)
MissingKeyWnd = New EgtMsgBox(Me, sTitle, sText, EgtMsgBox.Buttons.OK, EgtMsgBox.Icons.NULL, 2, 2)
@@ -354,9 +359,9 @@ Class MainWindow
' Recupero il direttorio del file
Dim sDir As String = System.IO.Path.GetDirectoryName(LicDlg.FileName)
' Se il file non è già nel direttorio di configurazione lo copio
If Not String.Equals(System.IO.Path.GetFullPath(sDir), System.IO.Path.GetFullPath( m_sConfigDir), StringComparison.OrdinalIgnoreCase) Then
If Not String.Equals(System.IO.Path.GetFullPath(sDir), System.IO.Path.GetFullPath(m_sConfigDir), StringComparison.OrdinalIgnoreCase) Then
Try
System.IO.File.Copy(LicDlg.FileName, System.IO.Path.Combine( m_sConfigDir, LicDlg.SafeFileName), True)
System.IO.File.Copy(LicDlg.FileName, System.IO.Path.Combine(m_sConfigDir, LicDlg.SafeFileName), True)
Catch ex As Exception
End Try
End If
@@ -418,7 +423,7 @@ Class MainWindow
Private Sub MainWindow_PreviewMouseDown(sender As Object, e As MouseButtonEventArgs) Handles Me.PreviewMouseDown
End Sub
Private Sub MainWindow_KeyDown(sender As Object, e As KeyEventArgs) Handles Me.KeyDown
Private Sub OnKeyDownHandler(ByVal sender As Object, ByVal e As KeyEventArgs)
'If (m_NumericKeyboardWD.IsVisible And e.Key = Key.Enter) Then
' m_NumericKeyboardWD.Visibility = Windows.Visibility.Hidden
'End If
@@ -446,9 +451,11 @@ Class MainWindow
' Se già selezionato deseleziono
If nStat = GDB_ST.SEL Then
EgtDeselectObj(nPartId)
' Altrimenti seleziono
' Altrimenti seleziono
Else
EgtDeselectAll()
If Not (Keyboard.Modifiers And ModifierKeys.Control) > 0 Then
EgtDeselectAll()
End If
EgtSelectObj(nPartId)
End If
EgtDraw()
@@ -518,7 +525,11 @@ Class MainWindow
Private Sub PrintBtn_Click(sender As Object, e As RoutedEventArgs) Handles PrintBtn.Click
Dim printDlg As New PrintDialog
Dim printDlg As New System.Windows.Controls.PrintDialog()
Dim SM_Select As SM = SM.SHADING
If (Keyboard.Modifiers And ModifierKeys.Control) > 0 Then
SM_Select = SM.HIDDENLINE
End If
If printDlg.ShowDialog() Then
@@ -537,7 +548,7 @@ Class MainWindow
Dim nImgH As Integer = 2400
Dim sPath As String = m_sTempDir & "\Image.png"
EgtSetLineAttribs( 3)
If Not EgtGetImage(SM.HIDDENLINE, colWhite, colWhite, nImgW, nImgH, sPath) Then
If Not EgtGetImage(SM_Select, colWhite, colWhite, nImgW, nImgH, sPath) Then
EgtOutLog("Errore creazione immagine di stampa")
Return
End If
@@ -579,8 +590,9 @@ Class MainWindow
End Sub
' Funzione per stampa delle etichette
' Funzione per stampa delle etichette con ZebraPrinter
Private Sub LabelBtn_Click(sender As Object, e As RoutedEventArgs) Handles LabelBtn.Click
Dim dTimerSleep As Double = GetPrivateProfileDouble(S_GENERAL, K_PRINTSLEEP, 5000, m_sIniFile)
Dim FileName As String = DateTime.Now.ToString()
FileName = FileName.Replace("/"c, "_")
FileName = FileName.Replace(":"c, "_")
@@ -589,6 +601,11 @@ Class MainWindow
Dim nId As Integer = EgtGetFirstSelectedObj()
' recupero il part
Dim nParentId As Integer = nId
' se nessun elemento selezionato esco
If nParentId = GDB_ID.NULL Then
ReadFileErrorPrinter(False)
Return
End If
Dim bArrow As Boolean = False
While nParentId <> GDB_ID.NULL
CreateFileData(nParentId, sFileDatIni)
@@ -599,9 +616,13 @@ Class MainWindow
Else
Process.Start(m_ZebraUtilitiesExe, m_TemplateFilePrinter & " " & sFileDatIni)
End If
Thread.Sleep(dTimerSleep)
' passo al pezzo successivo
nParentId = EgtGetNextSelectedObj()
End While
' attendo che sia generato il file
Thread.Sleep(10)
ReadFileErrorPrinter()
End Sub
' creazione file ini dei dati pezzo per stampa etichetta
@@ -647,6 +668,68 @@ Class MainWindow
End Try
End Sub
Private Sub ReadFileErrorPrinter(Optional bReadFileError As Boolean = True)
' stringa che conterrà il mesasggio da stampare come errore
Dim sErrorMsg As String = String.Empty
' se non leggo il messaggio di errore allora
If Not bReadFileError Then
sErrorMsg = EgtMsg(4 + 91460)
' leggo il messaggio di errore della stampante
Else
' percorso del file di errore
Dim sPathFileError As String = m_sDataRoot & "\Temp\" & "Error.txt"
' provo a recuperare il mesaggio di errore
If File.Exists(sPathFileError) Then
Dim sAllLines As String() = File.ReadAllLines(sPathFileError)
' verifico che ci sia almeno una riga nel file degli errori
If sAllLines.Count > 0 Then
' verifico che la prima riga non sia vuota
Dim Index As Integer = 0
While String.IsNullOrEmpty(sAllLines(Index))
Index += 1
If Index > sAllLines.Count Then
EgtOutLog("Il messaggio di errore della stampante non è comprensibile: " & sAllLines(Index))
Return
End If
End While
Dim sItems As String() = sAllLines(Index).Split("=")
'verifico che sia avvenuto lo split
If sItems.Count > 1 Then
' verifico che il termine dopo il segno di uguale sia un numero
Dim nErrorIndex As Integer = -1
Try
nErrorIndex = CInt(sItems(1))
' se nErrorIndex=0 significa che non ci sono errori
If nErrorIndex < 1 Then
Return
End If
Catch ex As Exception
EgtOutLog("Il messaggio di errore della stampante non è comprensibile: " & sAllLines(Index))
Return
End Try
sErrorMsg = EgtMsg(nErrorIndex + 91460)
End If
End If
End If
End If
' eventualmente stampo il messaggio
If Not String.IsNullOrEmpty(sErrorMsg) Then
SetErrorMessage(sErrorMsg)
End If
' Lancio timer per aggiornamento interfaccia
Dim DelayTime As Integer = 4000
DelayTime = GetPrivateProfileInt(S_PRINTER, K_DELAYTIME, DelayTime, GetIniFile)
m_DelayTimerMsg.Interval = TimeSpan.FromMilliseconds(DelayTime)
m_DelayTimerMsg.Start()
End Sub
' questa funzione viene eseguita dall'evento associato al m_DelayTimerMsg
Private Sub RefreshErrorMsgPrinter()
ClearMessage()
m_DelayTimerMsg.Stop()
End Sub
' cerco se esiste la definizione del "*TOP*" del pezzo
Private Function GetTopInfoPart(nPartId As Integer) As Boolean
Dim nRegion As Integer = EgtGetFirstNameInGroup(nPartId, NAME_REGION)
+7 -6
View File
@@ -12,10 +12,10 @@ Imports System.Windows
' Review the values of the assembly attributes
<Assembly: AssemblyTitle("OmagVIEW 32 bit")>
<Assembly: AssemblyDescription("OmagVIEWR32.exe")>
<Assembly: AssemblyCompany("")>
<Assembly: AssemblyProduct("OmagVIEW")>
<Assembly: AssemblyCopyright("Copyright © 2016-2021 by EgalTech s.r.l.")>
<Assembly: AssemblyDescription("OmagVIEWR32.exe")>
<Assembly: AssemblyCompany("Egalware s.r.l.")>
<Assembly: AssemblyProduct("OmagVIEW")>
<Assembly: AssemblyCopyright("Copyright © 2016-2023 by Egalware s.r.l.")>
<Assembly: AssemblyTrademark("")>
<Assembly: ComVisible(false)>
@@ -55,5 +55,6 @@ Imports System.Windows
' by using the '*' as shown below:
' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("2.3.10.3")>
<Assembly: AssemblyFileVersion("2.3.10.3")>
<Assembly: AssemblyVersion("2.6.2.1")>
<Assembly: AssemblyFileVersion("2.6.2.1")>