207 lines
8.5 KiB
VB.net
207 lines
8.5 KiB
VB.net
Imports System.Collections.ObjectModel
|
|
Imports System.IO
|
|
Imports EgtUILib
|
|
Imports EgtWPFLib5
|
|
|
|
Public Module CurrentMachine
|
|
|
|
Private m_Salt As String = "3,1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679"
|
|
|
|
' Nome macchina corrente
|
|
Private m_sMachineName As String = String.Empty
|
|
Friend ReadOnly Property sMachineName As String
|
|
Get
|
|
Return m_sMachineName
|
|
End Get
|
|
End Property
|
|
' Direttorio macchina corrente
|
|
Private m_sMachDir As String = String.Empty
|
|
Friend ReadOnly Property sMachDir As String
|
|
Get
|
|
Return m_sMachDir
|
|
End Get
|
|
End Property
|
|
' File ini della macchina
|
|
Private m_sMachIniFile As String = String.Empty
|
|
Friend ReadOnly Property sMachIniFile As String
|
|
Get
|
|
Return m_sMachIniFile
|
|
End Get
|
|
End Property
|
|
' File script della macchina
|
|
Private m_sMachScriptDir As String = String.Empty
|
|
Friend ReadOnly Property sMachScriptDir As String
|
|
Get
|
|
Return m_sMachScriptDir
|
|
End Get
|
|
End Property
|
|
' Cartella delle lavorazioni
|
|
Private m_sMachiningFilePath As String = String.Empty
|
|
Friend ReadOnly Property sMachiningFilePath As String
|
|
Get
|
|
Return m_sMachiningFilePath
|
|
End Get
|
|
End Property
|
|
Friend Sub SetMachiningFilePath(sValue As String)
|
|
m_sMachiningFilePath = sValue
|
|
End Sub
|
|
' Cartella dei materiali
|
|
Private m_sMaterialsFilePath As String = String.Empty
|
|
Friend ReadOnly Property sMaterialsFilePath As String
|
|
Get
|
|
Return m_sMaterialsFilePath
|
|
End Get
|
|
End Property
|
|
|
|
' box della tavola macchina
|
|
Private m_b3Tab As New BBox3d
|
|
Friend ReadOnly Property b3Tab As BBox3d
|
|
Get
|
|
Return m_b3Tab
|
|
End Get
|
|
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 cartella script
|
|
m_sMachScriptDir = sMachinesRootDir & "\" & sMachineName & "\Scripts"
|
|
' impostazione cartella lavorazioni
|
|
m_sMachiningFilePath = sMachinesRootDir & "\" & sMachineName & "\Machinings\Machinings.ini"
|
|
' impostazione cartella materiali
|
|
m_sMaterialsFilePath = sMachinesRootDir & "\" & sMachineName & "\Materials\Materials.ini"
|
|
' Disabilito segnalazione modificato
|
|
Dim DisableMgr As New DisableModifiedMgr
|
|
' recupero box macchina
|
|
Dim nQqqId = EgtAddMachGroup("qqq")
|
|
EgtSetTable("Tab")
|
|
EgtGetTableArea(1, m_b3Tab)
|
|
EgtResetCurrMachGroup()
|
|
EgtRemoveMachGroup(nQqqId)
|
|
' carico materiali e lavorazioni
|
|
Map.refTopPanelVM.InitMaterialList()
|
|
Map.refMaterialDbVM.Init()
|
|
Map.refTopPanelVM.InitMachiningsList()
|
|
Map.refMachiningDbVM.Init()
|
|
' Ripristino stato segnalazione modifica
|
|
DisableMgr.ReEnable()
|
|
End Sub
|
|
|
|
#End Region 'Init
|
|
|
|
#Region "Methods"
|
|
|
|
Public Sub CreateMachineTable()
|
|
' Disabilito segnalazione modificato
|
|
Dim DisableMgr As New DisableModifiedMgr
|
|
' Recupero dati tavola (creando gruppo di lavoro temporaneo)
|
|
Dim nTempId = EgtAddMachGroup("qqq")
|
|
EgtSetTable("Tab")
|
|
Dim b3Tab As New BBox3d
|
|
EgtGetTableArea(1, b3Tab)
|
|
Dim dTabX = b3Tab.DimX
|
|
Dim dTabY = b3Tab.DimY()
|
|
EgtRemoveMachGroup(nTempId)
|
|
' Disegno tavola
|
|
Dim nTabPartId As Integer = EgtCreateGroup(GDB_ID.ROOT)
|
|
EgtSetLevel(nTabPartId, GDB_LV.SYSTEM)
|
|
EgtSetMode(nTabPartId, GDB_MD.LOCKED)
|
|
EgtSetStatus(nTabPartId, GDB_ST.ON_)
|
|
EgtSetName(nTabPartId, TABLE)
|
|
Dim nTabLayerId As Integer = EgtCreateGroup(nTabPartId)
|
|
EgtSetName(nTabLayerId, TABLE)
|
|
Dim nTabOutlineId As Integer = EgtCreateRectangle2P(nTabLayerId, New Point3d(0, 0, 0), New Point3d(dTabX, dTabY, 0))
|
|
EgtSetName(nTabOutlineId, TABLE_OUTLINE)
|
|
' scrivo il nome macchina sulla tavola
|
|
EgtSetInfo(nTabPartId, KEY_MACHINE_NAME, CurrentMachine.sMachineName)
|
|
' scrivo materiale sulla tavola
|
|
If Not IsNothing(Map.refTopPanelVM.SelMaterial) Then
|
|
EgtSetInfo(nTabPartId, KEY_MATERIAL_GUID, Map.refTopPanelVM.SelMaterial.sGUID)
|
|
EgtSetInfo(nTabPartId, KEY_MATERIAL_NAME, Map.refTopPanelVM.SelMaterial.sName)
|
|
End If
|
|
' Ripristino stato segnalazione modifica
|
|
DisableMgr.ReEnable()
|
|
End Sub
|
|
|
|
Friend Function ReadMachiningParamString(lpAppName As String, lpKeyName As String, lpDefault As String, ByRef lpString As String, Optional sFilePath As String = "") As Integer
|
|
Dim nResult As Integer = GetPrivateProfileString(lpAppName, lpKeyName, "", lpString, If(Not String.IsNullOrWhiteSpace(sFilePath), sFilePath, m_sMachiningFilePath))
|
|
If Not String.IsNullOrWhiteSpace(lpString) Then
|
|
lpString = EgwCrypto.PowerDecryptString(lpString, m_Salt)
|
|
Else
|
|
lpString = lpDefault
|
|
End If
|
|
Return nResult
|
|
End Function
|
|
|
|
Friend Function ReadMachiningParamSplit(lpAppName As String, lpKeyName As String, lpDefault As String, ByRef lpString As String, Optional sFilePath As String = "") As Integer
|
|
Dim nResult As Integer = GetPrivateProfileString(lpAppName, lpKeyName, "", lpString, If(Not String.IsNullOrWhiteSpace(sFilePath), sFilePath, m_sMachiningFilePath))
|
|
If Not String.IsNullOrWhiteSpace(lpString) Then
|
|
Dim Values() As String = lpString.Split(";"c)
|
|
Dim sCryptoValues As String = ""
|
|
For ValueIndex = 0 To Values.Count - 1
|
|
sCryptoValues += EgwCrypto.PowerDecryptString(Values(ValueIndex), m_Salt) & If(ValueIndex < Values.Count - 1, ";", "")
|
|
Next
|
|
lpString = sCryptoValues
|
|
Else
|
|
lpString = lpDefault
|
|
End If
|
|
Return nResult
|
|
End Function
|
|
|
|
Friend Function ReadMachiningParamDouble(lpAppName As String, lpKeyName As String, dDefault As Double, Optional sFilePath As String = "") As Double
|
|
Dim sParam As String = ""
|
|
Dim dParam As Double = dDefault
|
|
ReadMachiningParamString(lpAppName, lpKeyName, dDefault, sParam, sFilePath)
|
|
StringToDouble(sParam, dParam)
|
|
Return dParam
|
|
End Function
|
|
|
|
Friend Function WriteMachiningParam(lpAppName As String, lpKeyName As String, lpString As String, Optional sFilePath As String = "") As Boolean
|
|
Return WritePrivateProfileString(lpAppName, lpKeyName, EgwCrypto.PowerEncryptString(lpString, m_Salt), If(Not String.IsNullOrWhiteSpace(sFilePath), sFilePath, m_sMachiningFilePath))
|
|
End Function
|
|
|
|
Friend Function WriteMachiningParamSplit(lpAppName As String, lpKeyName As String, lpString As String, Optional sFilePath As String = "") As Boolean
|
|
If Not String.IsNullOrWhiteSpace(lpString) Then
|
|
Dim Values() As String = lpString.Split(";"c)
|
|
Dim sCryptoValues As String = ""
|
|
For ValueIndex = 0 To Values.Count - 1
|
|
sCryptoValues += EgwCrypto.PowerEncryptString(Values(ValueIndex), m_Salt) & If(ValueIndex < Values.Count - 1, ";", "")
|
|
Next
|
|
Return WritePrivateProfileString(lpAppName, lpKeyName, sCryptoValues, If(Not String.IsNullOrWhiteSpace(sFilePath), sFilePath, m_sMachiningFilePath))
|
|
Else
|
|
Return False
|
|
End If
|
|
End Function
|
|
|
|
Friend Function ReadMaterialParamString(lpAppName As String, lpKeyName As String, lpDefault As String, ByRef lpString As String, Optional sFilePath As String = "") As Integer
|
|
Dim nResult As Integer = GetPrivateProfileString(lpAppName, lpKeyName, lpDefault, lpString, If(Not String.IsNullOrWhiteSpace(sFilePath), sFilePath, m_sMaterialsFilePath))
|
|
If Not String.IsNullOrWhiteSpace(lpString) Then
|
|
lpString = EgwCrypto.PowerDecryptString(lpString, m_Salt)
|
|
Else
|
|
lpString = ""
|
|
End If
|
|
Return nResult
|
|
End Function
|
|
|
|
Friend Function ReadMaterialParamDouble(lpAppName As String, lpKeyName As String, dDefault As Double, Optional sFilePath As String = "") As Double
|
|
Dim sParam As String = ""
|
|
Dim dParam As Double = dDefault
|
|
ReadMaterialParamString(lpAppName, lpKeyName, dDefault, sParam, sFilePath)
|
|
StringToDouble(sParam, dParam)
|
|
Return dParam
|
|
End Function
|
|
|
|
Friend Function WriteMaterialParam(lpAppName As String, lpKeyName As String, lpString As String, Optional sFilePath As String = "") As Boolean
|
|
Return WritePrivateProfileString(lpAppName, lpKeyName, EgwCrypto.PowerEncryptString(lpString, m_Salt), If(Not String.IsNullOrWhiteSpace(sFilePath), sFilePath, m_sMaterialsFilePath))
|
|
End Function
|
|
|
|
#End Region 'Methods
|
|
|
|
End Module
|