Imports System.IO Imports EgtWPFLib5 Public Class MyMachine Inherits Machine Private m_nType As MachineType Public ReadOnly Property nType As MachineType Get Return m_nType End Get End Property Sub New(sDirPath As String, sIniPath As String) MyBase.New(sDirPath, sIniPath) ' verifico esistenza cartella Beam e Wall per assegnare tipo If Directory.Exists(sDirPath & "/Beam") AndAlso Directory.Exists(sDirPath & "/Wall") Then m_nType = MachineType.BOTH ElseIf Directory.Exists(sDirPath & "/Beam") Then m_nType = MachineType.BEAM ElseIf Directory.Exists(sDirPath & "/Wall") Then m_nType = MachineType.WALL Else m_nType = MachineType.NULL End If End Sub Public Shared Shadows 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" Dim PathBeam As String = Machines(i) & "\" & "Beam" Dim PathWall As String = Machines(i) & "\" & "Wall" If File.Exists(PathIni) AndAlso (Directory.Exists(PathBeam) OrElse Directory.Exists(PathWall)) Then MachineList.Add(New MyMachine(Machines(i), PathIni)) End If Next Return True End Function End Class