Imports System.Collections.ObjectModel Imports EgtUILib Public Module CurrentMachine ' Nome macchina corrente Private m_sMachineName As String = String.Empty ' Direttorio macchina corrente Private m_sMachDir As String = String.Empty ' File ini della macchina Private m_sMachIniFile As String = String.Empty ' File ini dei parametri macchina Private m_sMachParamIniFile As String = String.Empty #Region "Proprietà che leggono e scrivono i valori anche da o su file ini" Friend ReadOnly Property sMachineName As String Get Return m_sMachineName End Get End Property Friend ReadOnly Property sMachDir As String Get Return m_sMachDir End Get End Property Friend ReadOnly Property sMachIniFile As String Get Return m_sMachIniFile End Get End Property Friend ReadOnly Property sMachParamIniFile As String Get Return m_sMachParamIniFile End Get End Property #End Region Private m_MachTableList As New ObservableCollection(Of MachTable) Public Property MachTableList As ObservableCollection(Of MachTable) Get Return m_MachTableList End Get Set(value As ObservableCollection(Of MachTable)) m_MachTableList = value End Set End Property #Region "Init" Sub InitCurrentMachine(sMachinesRootDir As String, sMachineName As String) ' Nome macchina corrente m_sMachineName = sMachineName ' Impostazione direttorio macchina m_sMachDir = sMachinesRootDir & "\" & sMachineName ' Impostazione path MachIni file m_sMachIniFile = sMachinesRootDir & "\" & sMachineName & "\" & sMachineName & ".ini" ' Impostazione path MachParamIni file m_sMachParamIniFile = sMachinesRootDir & "\" & sMachineName & "\" & K_BEAM & "\" & MACH_INI_FILE_NAME ' crea l'elenco dei parametri della macchina corrente CreateMachParams() End Sub #End Region 'Init #Region "Methods" ' funzione che crea l'elenco dei parametri Macchina Friend Sub CreateMachParams() MachTableList.Clear() Dim NewMachParam As MachParam = Nothing Dim MachParamList As New ObservableCollection(Of MachParam) Dim TableIndex = 1 Dim ParamIndex As Integer = 1 Dim TableName As String = String.Empty ' verifico che ci sia una table con l'indice designato e ne leggo il nome While GetMachPrivateProfileString(TableIndex, K_NAME, "", TableName) ' leggo tutti i parametri della table While MachParamIniFile.GetMachPrivateProfileParam(TableIndex, ParamIndex, NewMachParam) MachParamList.Add(NewMachParam) ParamIndex += 1 End While MachTableList.Add(New MachTable(TableName, MachParamList)) ' aggiorno indici e resetto lista per lettura dell'eventuale table successiva TableIndex += 1 ParamIndex = 1 MachParamList = New ObservableCollection(Of MachParam) End While End Sub #End Region 'Methods End Module