Imports System.Collections.ObjectModel Imports EgtUILib Imports EgtWPFLib5 Friend Module MachParamIniFile Public Function GetMachPrivateProfileParam(IpParentTable As Integer, IpMachParamIndex As String, ByRef IpMachParam As MachParam) As Boolean Dim sMachParam As String = String.Empty If EgtUILib.GetPrivateProfileString(IpParentTable, IpMachParamIndex, String.Empty, sMachParam, sMachParamIniFile) > 0 Then Dim sMachParamParams() As String = sMachParam.Split(","c) ' verifico numero minimo di parametri If sMachParamParams.Count >= 4 Then ' cancello spazi For Index = 0 To sMachParamParams.Count - 1 sMachParamParams(Index) = sMachParamParams(Index).Trim() Next ' creo parametro If sMachParamParams(0) = "d" OrElse sMachParamParams(0) = "l" Then Dim dDefault As Double StringToDouble(sMachParamParams(2), dDefault) Dim ParamType As MachParamType If sMachParamParams(0) = "d" Then ParamType = MachParamType.DOUBLE_ Else ParamType = MachParamType.LENGTH End If IpMachParam = New MachParam(IpParentTable, IpMachParamIndex, ParamType, sMachParamParams(1), dDefault, sMachParamParams(3)) Return Not IsNothing(IpMachParam) ElseIf sMachParamParams(0) = "s" Then IpMachParam = New MachParam(IpParentTable, IpMachParamIndex, MachParamType.STRING_, sMachParamParams(1), sMachParamParams(3)) Return Not IsNothing(IpMachParam) End If End If End If Return False End Function Public Function GetMachPrivateProfileString(IpAppName As String, IpKeyName As String, IpDefault As String, ByRef IpString As String) As Integer Return EgtUILib.GetPrivateProfileString(IpAppName, IpKeyName, IpDefault, IpString, sMachParamIniFile) End Function Public Function GetMachPrivateProfileParamValue(IpParentTable As Integer, IpMachParamIndex As String, ByRef IpMachParamValue As String) As Boolean Dim sMachParam As String = String.Empty If EgtUILib.GetPrivateProfileString(IpParentTable, IpMachParamIndex, String.Empty, sMachParam, sMachParamIniFile) > 0 Then Dim sMachParamParams() As String = sMachParam.Split(","c) ' verifico numero minimo di parametri If sMachParamParams.Count >= 4 Then ' cancello spazi For Index = 0 To sMachParamParams.Count - 1 sMachParamParams(Index) = sMachParamParams(Index).Trim() Next 'restituisco il valore del parametro IpMachParamValue = sMachParamParams(2) Return Not IsNothing(IpMachParamValue) End If End If Return False End Function Public Function WriteMachPrivateProfileString(IpAppName As String, IpKeyName As String, ByRef IpString As String) As Boolean Return EgtUILib.WritePrivateProfileString(IpAppName, IpKeyName, IpString, sMachParamIniFile) End Function End Module