Namespace Config Class Options Public Shared CurrentOptions As Options Public Shared sPathFile As String Private _Machine_Enabled As Boolean ''' Maintenance Machine Public ReadOnly Property Machine_Enabled() As Boolean Get Return Me._Machine_Enabled End Get End Property Private _Maintenance_Enabled As Boolean ''' Opzione Maintenance Public ReadOnly Property Maintenance_Enabled() As Boolean Get Return Me._Maintenance_Enabled End Get End Property Private _OpPanel_Enabled As Boolean ''' Opzione OpPanel Public ReadOnly Property OpPanel_Enabled() As Boolean Get Return Me._OpPanel_Enabled End Get End Property Private _Launch_Enabled As Boolean ''' Opzione Launch Public ReadOnly Property Launch_Enabled() As Boolean Get Return Me._Launch_Enabled End Get End Property Private _TcpSocket_Enabled As Boolean ''' Opzione TcpSocket Public ReadOnly Property TcpSocket_Enabled() As Boolean Get Return Me._TcpSocket_Enabled End Get End Property Private _ToolTable_Enabled As Boolean ''' Opzione ToolTable Public ReadOnly Property ToolTable_Enabled() As Boolean Get Return Me._ToolTable_Enabled End Get End Property Private _ToolTable_Famiglie As Boolean ''' Opzione Famiglie Public ReadOnly Property ToolTable_Famiglie() As Boolean Get Return Me._ToolTable_Famiglie End Get End Property Private _ToolTable_Vita As Boolean ''' Opzione Vita Public ReadOnly Property ToolTable_Vita() As Boolean Get Return (Me._ToolTable_Vita_S Or Me._ToolTable_Vita_N Or Me._ToolTable_Vita_M) End Get End Property Private _ToolTable_Vita_S As Boolean ''' Opzione Vita a Tempo Public ReadOnly Property ToolTable_Vita_S() As Boolean Get Return Me._ToolTable_Vita_S End Get End Property Private _ToolTable_Vita_N As Boolean ''' Opzione Vita a Cicli o Colpi Public ReadOnly Property ToolTable_Vita_N() As Boolean Get Return Me._ToolTable_Vita_N End Get End Property Private _ToolTable_Vita_M As Boolean ''' Opzione Vita a Profilo Public ReadOnly Property ToolTable_Vita_M() As Boolean Get Return Me._ToolTable_Vita_M End Get End Property Private _ToolTable_AttrezzaggioAutomatico As Boolean ''' Opzione Attrezzaggio Automatico Public ReadOnly Property ToolTable_AttrezzaggioAutomatico() As Boolean Get Return Me._ToolTable_AttrezzaggioAutomatico End Get End Property Private _ToolTable_PercorsoAutoadattativo As Boolean ''' Opzione Percorso Autoadattativo Public ReadOnly Property ToolTable_PercorsoAutoadattativo() As Boolean Get Return Me._ToolTable_PercorsoAutoadattativo End Get End Property Private _ToolTable_Multiprofilo As Boolean ''' Opzione Multiprofilo Public ReadOnly Property ToolTable_Multiprofilo() As Boolean Get Return Me._ToolTable_Multiprofilo End Get End Property Private _ToolTable_CompensazioneDinamica As Boolean ''' Opzione Compensazione Dinamica Public ReadOnly Property ToolTable_CompensazioneDinamica() As Boolean Get Return Me._ToolTable_CompensazioneDinamica End Get End Property Private _ToolTable_Offset As Boolean ''' Opzione Offset Public ReadOnly Property ToolTable_Offset() As Boolean Get Return Me._ToolTable_Offset End Get End Property Private _ToolTable_FeedMax As Boolean ''' Opzione FeedMax Public ReadOnly Property ToolTable_FeedMax() As Boolean Get Return Me._ToolTable_FeedMax End Get End Property Private _ToolTable_Gamme As Boolean ''' Opzione Gamme Public ReadOnly Property ToolTable_Gamme() As Boolean Get Return Me._ToolTable_Gamme End Get End Property Private _ToolTable_Manine As Boolean ''' Opzione Manine Public ReadOnly Property ToolTable_Manine() As Boolean Get Return Me._ToolTable_Manine End Get End Property Private _ToolTable_MaxToolsManaged As Integer ''' Massimo numero di utensili gestibili Public ReadOnly Property ToolTable_MaxToolsManaged() As Integer Get Return Me._ToolTable_MaxToolsManaged End Get End Property Private _ToolTable_Inch As Boolean ''' Opzione gestione in Pollici Public ReadOnly Property ToolTable_Inch() As Boolean Get Return Me._ToolTable_Inch End Get End Property Private _ToolTable_Diameter As Boolean ''' Opzione gestione Diametro Public ReadOnly Property ToolTable_Diameter() As Boolean Get Return Me._ToolTable_Diameter End Get End Property Private _ToolTable_AttrezzaggioInRun As Boolean ''' Opzione modifica con macchina in RUN Public ReadOnly Property ToolTable_AttrezzaggioInRun() As Boolean Get Return Me._ToolTable_AttrezzaggioInRun End Get End Property Private _ToolTable_AttrezzaggioAssistito As Boolean ''' Opzione Attrezzaggio magazzini inaccessibili tramite macchina Public ReadOnly Property ToolTable_AttrezzaggioAssistito() As Boolean Get Return Me._ToolTable_AttrezzaggioAssistito End Get End Property Private _ToolTable_SharedDB As Boolean ''' Opzione magazzino utensili condiviso tra più macchine Public ReadOnly Property ToolTable_SharedDB() As Boolean Get Return Me._ToolTable_SharedDB End Get End Property Private _ToolTable_AllowRemote As Boolean ''' Opzione AllowRemote Tool Table Public ReadOnly Property ToolTable_AllowRemote() As Boolean Get Return Me._ToolTable_AllowRemote End Get End Property Public Shared Sub CreateOptions(ByVal sPathF As String) If CurrentOptions Is Nothing Then CurrentOptions = New Options End If ' Memorizzo il percorso del file INI sPathFile = sPathF CurrentOptions.LoadOptions() End Sub 'carica le opzioni da file Private Sub LoadOptions() ''leggo la matricola dal cn ''se non è possibile disabilito tutto e chiedo che venga attivata la connessione ''se leggo 0 avviso che la metricola deve essere popolata ''leggo il codice dal file ''valore = decodifica(valoreletto, matricola, passwordpubblica) Dim szFileIni As String Dim Ini As App.Native.Ini ' imposto il nome del file szFileIni = sPathFile & "\" & My.Application.Info.AssemblyName & ".ini" ' verifico che esista il file If My.Computer.FileSystem.FileExists(szFileIni) Then 'istanzio la classe di gestione del file Ini = New App.Native.Ini(szFileIni) 'leggo i settaggi dal file Me._Machine_Enabled = Ini.GetBoolean("OPTIONS", "MACHINE_ENABLED", 0) Me._Maintenance_Enabled = Ini.GetBoolean("OPTIONS", "MAINTENANCE_ENABLED", 0) Me._OpPanel_Enabled = Ini.GetBoolean("OPTIONS", "OPPANEL_ENABLED", 0) Me._Launch_Enabled = Ini.GetBoolean("OPTIONS", "LAUNCH_ENABLED", 0) Me._TcpSocket_Enabled = Ini.GetBoolean("OPTIONS", "TCPSOCKET_ENABLED", 0) Me._ToolTable_Enabled = Ini.GetBoolean("OPTIONS", "TOOLTABLE_ENABLED", 0) Me._ToolTable_Famiglie = Ini.GetBoolean("OPTIONS", "TOOLTABLE_FAMIGLIE", 0) Me._ToolTable_Vita_S = Ini.GetBoolean("OPTIONS", "TOOLTABLE_VITA_S", 0) Me._ToolTable_Vita_N = Ini.GetBoolean("OPTIONS", "TOOLTABLE_VITA_N", 0) Me._ToolTable_Vita_M = Ini.GetBoolean("OPTIONS", "TOOLTABLE_VITA_M", 0) Me._ToolTable_Multiprofilo = Ini.GetBoolean("OPTIONS", "TOOLTABLE_MULTIPROFILO", 0) Me._ToolTable_AttrezzaggioAutomatico = Ini.GetBoolean("OPTIONS", "TOOLTABLE_ATTREZZAGGIOAUTOMATICO", 0) Me._ToolTable_PercorsoAutoadattativo = Ini.GetBoolean("OPTIONS", "TOOLTABLE_PERCORSOAUTOADATTATIVO", 0) Me._ToolTable_CompensazioneDinamica = Ini.GetBoolean("OPTIONS", "TOOLTABLE_COMPENSAZIONEDINAMICA", 0) Me._ToolTable_Offset = Ini.GetBoolean("OPTIONS", "TOOLTABLE_OFFSET", 0) Me._ToolTable_FeedMax = Ini.GetBoolean("OPTIONS", "TOOLTABLE_FEEDMAX", 0) Me._ToolTable_Gamme = Ini.GetBoolean("OPTIONS", "TOOLTABLE_GAMME", 0) Me._ToolTable_Manine = Ini.GetBoolean("OPTIONS", "TOOLTABLE_MANINE", 0) 'Me._ToolTable_GeometryManagement = Ini.GetInteger("OPTIONS", "TOOLTABLE_GEOMETRYMANAGEMENT", 0) Me._ToolTable_MaxToolsManaged = Ini.GetInteger("OPTIONS", "TOOLTABLE_MAXTOOLSMANAGED", 0) Me._ToolTable_Inch = Ini.GetBoolean("OPTIONS", "TOOLTABLE_INCH", 0) Me._ToolTable_Diameter = IIf(CNC.Runtime.NC.Type = CNC.CNC.NcType.OSAI, True, False) 'Ini.GetBoolean("OPTIONS", "TOOLTABLE_DIAMETER", 0) Me._ToolTable_AttrezzaggioInRun = Ini.GetBoolean("OPTIONS", "TOOLTABLE_ATTREZZAGGIO_IN_RUN", 0) Me._ToolTable_AttrezzaggioAssistito = Ini.GetBoolean("OPTIONS", "TOOLTABLE_ATTREZZAGGIO_ASSISTITO", 0) ' Se è attiva l'opzione ToolTable_Remote, l'AllowRemote e SharedDB sono ignorati If Config.Settings.Settings.ToolTable_Remote Then Me._ToolTable_AllowRemote = False Me._ToolTable_SharedDB = False Else Me._ToolTable_AllowRemote = Ini.GetBoolean("OPTIONS", "TOOLTABLE_ALLOWREMOTE", 0) Me._ToolTable_SharedDB = Ini.GetBoolean("OPTIONS", "TOOLTABLE_SHAREDDB", 0) End If Else 'CMSCncLib.App.Runtime.Log.WW("ERR LoadOptions", String.Format("File {0} not found", szFileIni), True) End If End Sub 'verifica che le opzioni sul cn siano coerenti, se no le corregge Private Sub CheckOptions() ''leggo le opzioni dal cn ''verifico che siano uguali a quelle del file, se no modifico il cn e avviso l'utente della modifica End Sub End Class End Namespace