diff --git a/DoorParameters/Compo.vb b/DoorParameters/Compo.vb index 2b45a3b..cba32e7 100644 --- a/DoorParameters/Compo.vb +++ b/DoorParameters/Compo.vb @@ -1917,6 +1917,22 @@ Public Class Compo Return True End Function + ' Conversione da meta espressione in file lua ad espressione valida in interfaccia + Private Function ConvertFromLua( sValue As String) As String + ' sistemo variabili + sValue = sValue.Replace( "(DGD.dW)", "W") + sValue = sValue.Replace( "(DGD.dW/25.4)", "W") + sValue = sValue.Replace( "(DGD.dT)", "T") + sValue = sValue.Replace( "(DGD.dT/25.4)", "T") + sValue = sValue.Replace( "(DGD.dH)", "H") + sValue = sValue.Replace( "(DGD.dH/25.4)", "H") + ' elimino inch(...) o mm(...) + sValue = RegexFunction.Brackets(sValue) + ' sistemo per unità in interfaccia + Utility.ConvertCurrentUnitMeasure(sValue) + return sValue + End Function + ' carico il parametro letto Private Function LoadParamFromLua(sValue As String, ByRef CurrCompoParam As CompoParam) As Boolean If TypeOf CurrCompoParam Is TextBoxOnOffParam Then @@ -1926,29 +1942,11 @@ Public Class Compo End If Dim sItems() As String = sValue.Split(";"c) ' estraggo il primo valore: -- NomeParamOnOff = inch(0.6); 0 - sValue = sItems(0) - Dim ReadValue = RegexFunction.Brackets(sValue) - If ReadValue.Contains("DGD.dW") Then - ReadValue = sValue.Replace(ReadValue & ")", "W") - ReadValue = RegexFunction.Brackets(ReadValue) - End If - If ReadValue.Contains("DGD.dT") Then - ReadValue = sValue.Replace(ReadValue & ")", "T") - ReadValue = RegexFunction.Brackets(ReadValue) - End If - If ReadValue.Contains("DGD.dH") Then - ReadValue = sValue.Replace(ReadValue & ")", "H") - ReadValue = RegexFunction.Brackets(ReadValue) - End If - Utility.ConvertCurrentUnitMeasure(ReadValue) + Dim ReadValue As String = ConvertFromLua( sItems(0)) TempParam.SetValue(ReadValue) ' verifico se deve essere attivata - If sItems.Count > 1 Then - If sItems(1).Trim <> "0" Then - TempParam.SetIsActive(True) - Else - TempParam.SetIsActive(False) - End If + If sItems.Count > 1 AndAlso sItems(1).Trim = "0" Then + TempParam.SetIsActive(False) Else TempParam.SetIsActive(True) End If @@ -1959,20 +1957,7 @@ Public Class Compo If Map.refMainWindowVM.SelectedPage <> MainWindowVM.ListPageEnum.nHardwarePage Then If Not TempParam.EnableCopy Then Return False End If - Dim ReadValue = RegexFunction.Brackets(sValue) - If ReadValue.Contains("DGD.dW") Then - ReadValue = sValue.Replace(ReadValue & ")", "W") - ReadValue = RegexFunction.Brackets(ReadValue) - End If - If ReadValue.Contains("DGD.dT") Then - ReadValue = sValue.Replace(ReadValue & ")", "T") - ReadValue = RegexFunction.Brackets(ReadValue) - End If - If ReadValue.Contains("DGD.dH") Then - ReadValue = sValue.Replace(ReadValue & ")", "H") - ReadValue = RegexFunction.Brackets(ReadValue) - End If - Utility.ConvertCurrentUnitMeasure(ReadValue) + Dim ReadValue As String = ConvertFromLua( sValue) TempParam.SetValue(ReadValue) Return True ElseIf TypeOf CurrCompoParam Is ComboBoxOnOffParam Then diff --git a/My Project/AssemblyInfo.vb b/My Project/AssemblyInfo.vb index 23c2875..83a8ef5 100644 --- a/My Project/AssemblyInfo.vb +++ b/My Project/AssemblyInfo.vb @@ -32,7 +32,7 @@ Imports System.Windows - + @@ -72,5 +72,5 @@ Imports System.Windows ' by using the '*' as shown below: ' - - + + diff --git a/RegexFunction.vb b/RegexFunction.vb index cf012f7..9de2afb 100644 --- a/RegexFunction.vb +++ b/RegexFunction.vb @@ -39,7 +39,7 @@ Module RegexFunction ' Restituisce il valore scritto tra le parentesi tonde () Friend Function Brackets(sLine As String) As String If Not sLine.Contains("("c) AndAlso Not sLine.Contains(")"c) Then Return sLine - Return Regex.Match(sLine, "\s*\(\s*(.*?\b)\s*\).*").Groups(1).Value + Return Regex.Match(sLine, "\s*\(\s*(.*\b)\s*\).*").Groups(1).Value End Function ' restituisce quello che segue l'uguale assegnata una parola chiave tra i due trattini e 'uguale