Imports System.IO ''' ''' Class that create the association Name/IniPath for the machine ''' Public Class Machine Private m_sName As String Public ReadOnly Property Name As String Get Return m_sName End Get End Property Private m_DirPath As String Public ReadOnly Property DirPath As String Get Return m_DirPath End Get End Property Private m_IniPath As String Public ReadOnly Property IniPath As String Get Return m_IniPath End Get End Property Sub New(sDirPath As String, sIniPath As String) If Not String.IsNullOrWhiteSpace(sDirPath) Then m_sName = Path.GetFileName(sDirPath) m_DirPath = sDirPath m_IniPath = sIniPath Else m_sName = String.Empty m_DirPath = String.Empty m_IniPath = String.Empty End If End Sub Public Shared Function MachineListInit(sMachinesRootDir As String, MachineList As IList(Of Machine)) As Boolean ' Se direttorio base macchine non definito o non esiste, ritorno If String.IsNullOrWhiteSpace(sMachinesRootDir) OrElse Not Directory.Exists(sMachinesRootDir) Then MachineList = Nothing Return False End If ' Cerco le macchine Dim Machines As String() = Directory.GetDirectories(sMachinesRootDir) For i As Integer = 0 To Machines.Count - 1 Dim PathIni As String = Machines(i) & "\" & Path.GetFileName(Machines(i)) & ".ini" If File.Exists(PathIni) Then MachineList.Add(New Machine(Machines(i), PathIni)) End If Next Return True End Function Public Shared Function SearchMachine(sName As String, MachineList As IList(Of Machine), ByRef FoundedMachine As Machine) As Boolean For Each Machine In MachineList If Machine.Name = sName Then FoundedMachine = Machine Return True End If Next FoundedMachine = Nothing Return False End Function Public Shared Function SearchMachineIni(sName As String, MachineList As IList(Of Machine), ByRef FoundedIni As String) As Boolean For Each Machine In MachineList If Machine.Name = sName Then FoundedIni = Machine.IniPath Return True End If Next FoundedIni = String.Empty Return False End Function Public Shared Function ExistsMachine(sName As String, MachineList As IList(Of Machine)) As Boolean For Each Machine In MachineList If Machine.Name = sName Then Return True End If Next Return False End Function End Class