diff --git a/ConstMachIni.vb b/ConstMachIni.vb
index 88df070..f7ca6d6 100644
--- a/ConstMachIni.vb
+++ b/ConstMachIni.vb
@@ -112,6 +112,7 @@
Public Const K_SHOWTOOLCHANGER As String = "ShowToolChanger"
Public Const K_SHOWHEADEXIT As String = "ShowHeadExit"
Public Const K_SHOWUSERNOTES As String = "ShowUserNotes"
+ Public Const K_SHOWSPECIALS As String = "ShowSpecials"
Public Const K_DRILLHOLDER As String = "DrillHolder"
Public Const K_SAWBLADEHOLDER As String = "SawBladeHolder"
Public Const K_MILLHOLDER As String = "MillHolder"
diff --git a/CurrentMachine.vb b/CurrentMachine.vb
index 119e3fa..83926a1 100644
--- a/CurrentMachine.vb
+++ b/CurrentMachine.vb
@@ -67,6 +67,7 @@ Public Class CurrentMachine
Private m_nShowToolChanger As Integer = 0 ' 0=no, 1=tutti utensili, 2=solo lame
Private m_bShowHeadExit As Boolean = False
Private m_nShowUserNotes As Integer = 0 ' 0=no, 1=tutti utensili, 2=solo lame
+ Private m_nShowSpecials As Integer = 0 ' 0=no, 1=tutti utensili, 2=solo lame
' Flag che indicano presenza tipologia lavorazioni (attivo/non attivo)
Private m_bSawing As Boolean = False
@@ -376,6 +377,12 @@ Public Class CurrentMachine
End Get
End Property
+ Friend ReadOnly Property ShowSpecials As Integer
+ Get
+ Return m_nShowSpecials
+ End Get
+ End Property
+
Friend ReadOnly Property bSawing As Boolean
Get
Return m_bSawing
@@ -907,6 +914,7 @@ Public Class CurrentMachine
m_nShowToolChanger = GetPrivateProfileInt(S_TOOLS, K_SHOWTOOLCHANGER, 0, sMachIniFile)
m_bShowHeadExit = (GetPrivateProfileInt(S_TOOLS, K_SHOWHEADEXIT, 0, sMachIniFile) > 0)
m_nShowUserNotes = GetPrivateProfileInt(S_TOOLS, K_SHOWUSERNOTES, 0, sMachIniFile)
+ m_nShowSpecials = GetPrivateProfileInt(S_TOOLS, K_SHOWSPECIALS, 0, sMachIniFile)
' Leggo limiti diametro lama per altre operazioni
m_dMaxSawDiamForVac = GetPrivateProfileDouble(S_TOOLS, K_MAXSAWDIAMFORVAC, 630, sMachIniFile)
m_dMaxSawDiamForProbe = GetPrivateProfileDouble(S_TOOLS, K_MAXSAWDIAMFORPROBE, 630, sMachIniFile)
diff --git a/ToolsDbPageUC.xaml b/ToolsDbPageUC.xaml
index 8d1510d..84f14c4 100644
--- a/ToolsDbPageUC.xaml
+++ b/ToolsDbPageUC.xaml
@@ -396,9 +396,29 @@
-
-
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ToolsDbPageUC.xaml.vb b/ToolsDbPageUC.xaml.vb
index 768d3bc..11b545f 100644
--- a/ToolsDbPageUC.xaml.vb
+++ b/ToolsDbPageUC.xaml.vb
@@ -18,9 +18,10 @@ Public Class ToolsDbPageUC
Private m_bFirst As Boolean = True
' Stringa identificativa variabile geometrica in modifica
Private m_sCurrVar As String = String.Empty
- ' Parametri geometrici dell'utensile corrente
+ ' Parametri dell'utensile corrente
Private m_nToolType As Integer = MCH_TY.NONE
Private m_sToolName As String = String.Empty
+ Private m_sEndLife As String = String.Empty
' Array che contengono i tipi di Coolant
Dim ToolCoolant() As String
@@ -74,6 +75,10 @@ Public Class ToolsDbPageUC
MinFeedTxBl.Text = EgtMsg(MSG_TOOLSDBPAGEUC + 19)
MaxMatTxBl.Text = EgtMsg(MSG_TOOLSDBPAGEUC + 20)
UserNotesTxBl.Text = EgtMsg(MSG_TOOLSDBPAGEUC + 25)
+ SerNbrTxBl.Text = EgtMsg(MSG_TOOLSDBPAGEUC + 26) ' Serial Number
+ CodeTxBl.Text = EgtMsg(MSG_TOOLSDBPAGEUC + 27) ' Code
+ SupplierTxBl.Text = EgtMsg(MSG_TOOLSDBPAGEUC + 28) ' Supplier
+ EndLifeTxBl.Text = EgtMsg(MSG_TOOLSDBPAGEUC + 29) ' End Life
' Associo TextBox e Label
Dim TempLabel1 As New Label
@@ -206,7 +211,14 @@ Public Class ToolsDbPageUC
AbsorptionBrd.SetValue(Grid.RowProperty, 23)
MaxMatTxBl.SetValue(Grid.RowProperty, 20)
MaxMatTxBx.SetValue(Grid.RowProperty, 20)
-
+ SerNbrTxBl.SetValue(Grid.RowProperty, 27)
+ SerNbrTxBx.SetValue(Grid.RowProperty, 27)
+ CodeTxBl.SetValue(Grid.RowProperty, 27)
+ CodeTxBx.SetValue(Grid.RowProperty, 27)
+ SupplierTxBl.SetValue(Grid.RowProperty, 29)
+ SupplierTxBx.SetValue(Grid.RowProperty, 29)
+ EndLifeTxBl.SetValue(Grid.RowProperty, 29)
+ EndLifeChBx.SetValue(Grid.RowProperty, 29)
End Sub
Private Sub NewBtn_Click(sender As Object, e As RoutedEventArgs) Handles NewBtn.Click
@@ -260,7 +272,7 @@ Public Class ToolsDbPageUC
EgtTdbSetCurrToolParam(MCH_TP.MAXMAT, 40.0)
End If
' Gestione speciale eventuali note tipo Hofmann
- ManageSpecialSawNotes()
+ ManageSpecialNotes()
' Salvo e aggiorno interfaccia utente
EgtTdbSaveCurrTool()
GetToolParams()
@@ -273,7 +285,7 @@ Public Class ToolsDbPageUC
EgtTdbGetToolNewName(NewName)
If EgtTdbCopyTool(SelectedCathegory.Name, NewName) Then
' Gestione speciale eventuali note tipo Hofmann
- ManageSpecialSawNotes()
+ ManageSpecialNotes()
' Annullo disegno
EgtTdbSetCurrToolParam(MCH_TP.DRAW, "")
EgtTdbSaveCurrTool()
@@ -295,13 +307,75 @@ Public Class ToolsDbPageUC
End Sub
- Private Sub ManageSpecialSawNotes()
- ' Note utente devono essere visualizzate
- If m_CurrMachine.ShowUserNotes = 0 Then Return
- ' Utensile deve essere lama
+ Private Function GetSpecials() As Boolean
+ ' Note speciali devono essere visualizzate con l'utensile corrente
+ If m_CurrMachine.ShowSpecials = 0 Then Return False
Dim nType As Integer
EgtTdbGetCurrToolParam(MCH_TP.TYPE, nType)
- If nType <> MCH_TY.SAW_STD Then Return
+ If nType <> MCH_TY.SAW_STD And m_CurrMachine.ShowSpecials = 2 Then Return False
+ ' Imposto valori di default
+ CodeTxBx.Text = ""
+ SupplierTxBx.Text = ""
+ SerNbrTxBx.Text = ""
+ EndLifeChBx.IsChecked = False
+ m_sEndLife = ""
+ UserNotesTxBx.Text = ""
+ ' Recupero le note utente
+ Dim sUserNotes As String = ""
+ EgtTdbGetCurrToolParam(MCH_TP.USERNOTES, sUserNotes)
+ ' Se esistono
+ If Not String.IsNullOrWhiteSpace(sUserNotes) Then
+ ' Stringa con note rimanenti
+ Dim sToShow As String = ""
+ ' Le divido in parti
+ Dim sItems() As String = sUserNotes.Split(";".ToCharArray)
+ For i As Integer = 0 To sItems.Count() - 1
+ If sItems(i).Contains("CODE=") Then
+ CodeTxBx.Text = sItems(i).Substring( 5)
+ ElseIf sItems(i).Contains("SUPPL=") Then
+ SupplierTxBx.Text = sItems(i).Substring( 6)
+ ElseIf sItems(i).Contains("S/N=") Then
+ SerNbrTxBx.Text = sItems(i).Substring( 4)
+ ElseIf sItems(i).Contains("END=") Then
+ EndLifeChBx.IsChecked = True
+ m_sEndLife = sItems(i).Substring( 4)
+ ElseIf Not String.IsNullOrWhiteSpace(sItems(i))
+ sToShow &= sItems(i) & ";"
+ End If
+ Next
+ UserNotesTxBx.Text = sToShow
+ End If
+ Return True
+ End Function
+
+ Private Function SetSpecials() As Boolean
+ ' Note speciali devono essere visualizzate con l'utensile corrente
+ If m_CurrMachine.ShowSpecials = 0 Then Return False
+ Dim nType As Integer
+ EgtTdbGetCurrToolParam(MCH_TP.TYPE, nType)
+ If nType <> MCH_TY.SAW_STD And m_CurrMachine.ShowSpecials = 2 Then Return False
+ ' Ricreo la stringa
+ Dim sUserNotes As String = ""
+ sUserNotes &= "CODE=" & CodeTxBx.Text & ";"
+ sUserNotes &= "SUPPL=" & SupplierTxBx.Text & ";"
+ sUserNotes &= "S/N=" & SerNbrTxBx.Text & ";"
+ If EndLifeChBx.IsChecked Then
+ If String.IsNullOrWhiteSpace( m_sEndLife) Then
+ m_sEndLife = My.Computer.Clock.LocalTime.ToString("dd.MM.yyyy HH:mm:ss")
+ End If
+ sUserNotes &= "END=" & m_sEndLife & ";"
+ End If
+ sUserNotes &= UserNotesTxBx.Text
+ EgtTdbSetCurrToolParam(MCH_TP.USERNOTES, sUserNotes)
+ Return True
+ End Function
+
+ Private Sub ManageSpecialNotes()
+ ' Note utente devono essere visualizzate con l'utensile corrente
+ If m_CurrMachine.ShowUserNotes = 0 Then Return
+ Dim nType As Integer
+ EgtTdbGetCurrToolParam(MCH_TP.TYPE, nType)
+ If nType <> MCH_TY.SAW_STD And m_CurrMachine.ShowUserNotes = 2 Then Return
' Recupero le note utente
Dim sUserNotes As String = ""
EgtTdbGetCurrToolParam(MCH_TP.USERNOTES, sUserNotes)
@@ -323,6 +397,8 @@ Public Class ToolsDbPageUC
sItems(i) = ""
ElseIf sItems(i).Contains("PROD=") Then
sItems(i) = ""
+ ElseIf sItems(i).Contains("END=") Then
+ sItems(i) = ""
End If
Next
sUserNotes = ""
@@ -460,8 +536,10 @@ Public Class ToolsDbPageUC
HeadTxBx.Text = ToolString
EgtTdbGetCurrToolParam(MCH_TP.EXIT_, ToolInt)
ExitTxBx.Text = ToolInt.ToString()
- EgtTdbGetCurrToolParam(MCH_TP.USERNOTES, ToolString)
- UserNotesTxBx.Text = ToolString
+ if Not GetSpecials() Then
+ EgtTdbGetCurrToolParam(MCH_TP.USERNOTES, ToolString)
+ UserNotesTxBx.Text = ToolString
+ End If
End Sub
Friend Sub SetToolParams()
@@ -511,7 +589,9 @@ Public Class ToolsDbPageUC
EgtTdbSetCurrToolParam(MCH_TP.HEAD, HeadTxBx.Text)
Int32.TryParse(ExitTxBx.Text, nTemp)
EgtTdbSetCurrToolParam(MCH_TP.EXIT_, nTemp)
- EgtTdbSetCurrToolParam(MCH_TP.USERNOTES, UserNotesTxBx.Text)
+ if Not SetSpecials() Then
+ EgtTdbSetCurrToolParam(MCH_TP.USERNOTES, UserNotesTxBx.Text)
+ End If
End Sub
Private Sub ViewToolParams()
@@ -538,6 +618,15 @@ Public Class ToolsDbPageUC
Dim bShowUserNotes As Boolean = ((m_nToolType = MCH_TY.SAW_STD And m_CurrMachine.ShowUserNotes <> 0) Or m_CurrMachine.ShowUserNotes = 1)
UserNotesTxBl.Visibility = If(bShowUserNotes, Windows.Visibility.Visible, Windows.Visibility.Hidden)
UserNotesTxBx.Visibility = If(bShowUserNotes, Windows.Visibility.Visible, Windows.Visibility.Hidden)
+ Dim bShowSpecials As Boolean = ((m_nToolType = MCH_TY.SAW_STD And m_CurrMachine.ShowSpecials <> 0) Or m_CurrMachine.ShowSpecials = 1)
+ SerNbrTxBl.Visibility = If(bShowSpecials, Windows.Visibility.Visible, Windows.Visibility.Hidden)
+ SerNbrTxBx.Visibility = If(bShowSpecials, Windows.Visibility.Visible, Windows.Visibility.Hidden)
+ CodeTxBl.Visibility = If(bShowSpecials, Windows.Visibility.Visible, Windows.Visibility.Hidden)
+ CodeTxBx.Visibility = If(bShowSpecials, Windows.Visibility.Visible, Windows.Visibility.Hidden)
+ SupplierTxBl.Visibility = If(bShowSpecials, Windows.Visibility.Visible, Windows.Visibility.Hidden)
+ SupplierTxBx.Visibility = If(bShowSpecials, Windows.Visibility.Visible, Windows.Visibility.Hidden)
+ EndLifeTxBl.Visibility = If(bShowSpecials, Windows.Visibility.Visible, Windows.Visibility.Hidden)
+ EndLifeChBx.Visibility = If(bShowSpecials, Windows.Visibility.Visible, Windows.Visibility.Hidden)
End Sub
Private Sub HideToolParams()
@@ -557,6 +646,14 @@ Public Class ToolsDbPageUC
AbsorptionBrd.Visibility = Windows.Visibility.Hidden
UserNotesTxBl.Visibility = Windows.Visibility.Hidden
UserNotesTxBx.Visibility = Windows.Visibility.Hidden
+ SerNbrTxBl.Visibility = Windows.Visibility.Hidden
+ SerNbrTxBx.Visibility = Windows.Visibility.Hidden
+ CodeTxBl.Visibility = Windows.Visibility.Hidden
+ CodeTxBx.Visibility = Windows.Visibility.Hidden
+ SupplierTxBl.Visibility = Windows.Visibility.Hidden
+ SupplierTxBx.Visibility = Windows.Visibility.Hidden
+ EndLifeTxBl.Visibility = Windows.Visibility.Hidden
+ EndLifeChBx.Visibility = Windows.Visibility.Hidden
End Sub
Private Sub ToolTreeView_PreviewMouseUp(sender As Object, e As MouseButtonEventArgs) Handles ToolTreeView.PreviewMouseUp