Files
OmagCUT/Utility.vb
T
Emmanuele Sassi 8bd01b8058 OmagCUT :
- Introduzione materiali e spessori nelle lavorazioni.
- Scelta delle lavorazioni che tiene conto di materiali e spessori impostati in Db lavorazioni.
- Bottoni macchina singoli a stati invece che doppi on/off.
- Miglioramenti vari durante prove in macchina.
2016-02-08 09:17:35 +00:00

137 lines
4.4 KiB
VB.net

Imports System.Globalization
Imports EgtUILib
Module Utility
'--------------------------------------------------------------------------------------------------
Friend Function DoubleToString(ByVal dVal As Double, ByVal nNumDec As Integer) As String
Dim sFormat As String = "F" + Math.Abs(nNumDec).ToString()
Dim sVal As String = dVal.ToString(sFormat, CultureInfo.InvariantCulture)
If nNumDec > 0 Then
Return sVal.TrimEnd("0".ToCharArray()).TrimEnd(".".ToCharArray)
Else
Return sVal
End If
End Function
Friend Function StringToDouble(ByVal sVal As String, ByRef dVal As Double) As Boolean
Return EgtLuaEvalNumExpr(sVal, dVal)
End Function
Friend Function LenToString(ByVal dVal As Double, ByVal nNumDec As Integer) As String
Return DoubleToString(EgtToUiUnits(dVal), nNumDec)
End Function
Friend Function StringToLen(ByVal sVal As String, ByRef dVal As Double) As Boolean
If EgtLuaEvalNumExpr(sVal, dVal) Then
dVal = EgtFromUiUnits(dVal)
Return True
Else
Return False
End If
End Function
Friend Function UIExprToExpr(ByVal sUIExpr) As String
If String.IsNullOrWhiteSpace(sUIExpr) Then
Return ""
End If
Return sUIExpr.Replace("""", "*GEO.ONE_INCH")
End Function
Friend Function ExprToUIExpr(ByVal sExpr) As String
If String.IsNullOrWhiteSpace(sExpr) Then
Return ""
End If
Return sExpr.Replace("*GEO.ONE_INCH", """")
End Function
'--------------------------------------------------------------------------------------------------
Friend Sub HideParkedParts()
Dim nPartId As Integer = EgtGetFirstPart()
While nPartId <> GDB_ID.NULL
EgtSetStatus(nPartId, GDB_ST.OFF)
nPartId = EgtGetNextPart(nPartId)
End While
End Sub
Friend Sub ShowParkedParts()
Dim nPartId As Integer = EgtGetFirstPart()
While nPartId <> GDB_ID.NULL
EgtSetStatus(nPartId, GDB_ST.ON_)
nPartId = EgtGetNextPart(nPartId)
End While
End Sub
Friend Function AdjustFlatPart(nPartId As Integer) As Boolean
' Ciclo sui layer
Dim nLayerId As Integer = EgtGetFirstLayer(nPartId)
While nLayerId <> GDB_ID.NULL
' Recupero il layer successivo
Dim nNextLayerId As Integer = EgtGetNextLayer(nLayerId)
' Recupero il nome del layer
Dim sLayName As String = String.Empty
If EgtGetName(nLayerId, sLayName) Then
' Se layer OutLoop o InLoop
If String.Compare(sLayName, NAME_OUTLOOP, True) = 0 Or
String.Compare(sLayName, NAME_INLOOP, True) = 0 Then
' Sistemo i layer per applicare facilmente le lavorazioni
EgtAdjustFlatPartLayer(nLayerId)
End If
' Se senza nome, lo elimino
Else
EgtErase(nLayerId)
End If
' Passo al layer successivo
nLayerId = nNextLayerId
End While
Return True
End Function
'--------------------------------------------------------------------------------------------------
Public Class Language
Private m_sLanguageName As String
Private m_sFileName As String
Public Property LanguageName As String
Get
Return m_sLanguageName
End Get
Set(value As String)
m_sLanguageName = value
End Set
End Property
Public Property FileName As String
Get
Return m_sFileName
End Get
Set(value As String)
m_sFileName = value
End Set
End Property
Sub New(LanguageName As String, FileName As String)
Me.LanguageName = LanguageName
Me.FileName = FileName
End Sub
End Class
Public Function GetPrivateProfileLanguage(
ByVal lpAppName As String,
ByVal lpKeyName As String,
ByVal lpFileName As String) As Language
Dim sVal As String = String.Empty
GetPrivateProfileString(lpAppName, lpKeyName, "", sVal, lpFileName)
Dim sItems() As String = sVal.Split(",".ToCharArray)
If sItems.Count() = 2 Then
Return New Language(sItems(0), sItems(1))
End If
Return Nothing
End Function
End Module