From d9f472892a2f686b2279889b16f5fe0bafb482b0 Mon Sep 17 00:00:00 2001 From: Emmanuele Sassi Date: Mon, 11 May 2026 15:18:15 +0200 Subject: [PATCH] Effector.Main 3.1.5.2: - aggiunta lettura file di messaggi del plugin --- Effector.Main/MainWindow/MainWindowM.vb | 34 ++++++++++++++++++++++-- Effector.Main/My Project/AssemblyInfo.vb | 4 +-- 2 files changed, 34 insertions(+), 4 deletions(-) diff --git a/Effector.Main/MainWindow/MainWindowM.vb b/Effector.Main/MainWindow/MainWindowM.vb index e20bec8..ee59379 100644 --- a/Effector.Main/MainWindow/MainWindowM.vb +++ b/Effector.Main/MainWindow/MainWindowM.vb @@ -192,7 +192,7 @@ Public Class MainWindowM 'If GetMainPrivateProfileString(S_GENERAL, K_MESSAGESDIR, "", sMsgDir) = 0 Then ' sMsgDir = m_sConfigDir 'End If - ''' Inizializzo OptionModule + '' Inizializzo OptionModule ''OptionModule.InitOptionModule() ' Leggo lingua corrente Dim sLanguage As String = String.Empty @@ -209,8 +209,38 @@ Public Class MainWindowM nIndex += 1 ReadLanguage = GetMainPrivateProfileLanguage(S_LANGUAGES, nIndex) End While - ' Leggo file messaggi + ' recupero file messaggi Dim sMsgFilePath As String = m_sDataRoot & "\" & MSG_DIR & "\" & sMsgName + ' verifico se c'e' un plugin + Dim sPluginName As String = "" + If GetMainPrivateProfileString(S_GENERAL, K_PLUGINNAME, "", sPluginName) > 0 AndAlso Not String.IsNullOrWhiteSpace(sPluginName) Then + ' recupero nome del file messaggi del plugin + Dim sPlugInMsgFilePath As String = m_sDataRoot & "\Plugin\" & sPluginName & "\Messages\" & sMsgName + If File.Exists(sPlugInMsgFilePath) Then + Dim OrigMsgFile As List(Of String) = File.ReadAllLines(sMsgFilePath).ToList() + ' elimino eventuali righe vuote o commento di fine + While String.IsNullOrWhiteSpace(OrigMsgFile.Last()) OrElse OrigMsgFile.Last().StartsWith("//") + OrigMsgFile.RemoveAt(OrigMsgFile.Count - 1) + End While + Dim PluginMsgFile As List(Of String) = File.ReadAllLines(sPlugInMsgFilePath).ToList() + ' elimino eventuale riga di inizio file + If PluginMsgFile.Count > 1 AndAlso PluginMsgFile(1).StartsWith("//") AndAlso PluginMsgFile(0).StartsWith("//") Then + PluginMsgFile.RemoveAt(0) + End If + OrigMsgFile.AddRange(PluginMsgFile) + Dim sNewMsgFilePath As String = m_sDataRoot & "\Plugin\" & sPluginName & "\Messages\Complete" & sMsgName + Dim bNewMsgFile As Boolean = False + Try + File.WriteAllLines(sNewMsgFilePath, OrigMsgFile) + bNewMsgFile = True + Catch ex As Exception + End Try + If bNewMsgFile Then + sMsgFilePath = sNewMsgFilePath + End If + End If + End If + ' Leggo file messaggi If Not EgtLoadMessages(sMsgFilePath) Then EgtOutLog("Error in EgtLoadMessages") End If diff --git a/Effector.Main/My Project/AssemblyInfo.vb b/Effector.Main/My Project/AssemblyInfo.vb index e0477b5..4e69e56 100644 --- a/Effector.Main/My Project/AssemblyInfo.vb +++ b/Effector.Main/My Project/AssemblyInfo.vb @@ -55,5 +55,5 @@ Imports System.Windows ' by using the '*' as shown below: ' - - + +